Successfully reported this slideshow.
Your SlideShare is downloading. ×

Python Tip LT 20210805 nlog2n2

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
2021 1021 ssmjp_osc
2021 1021 ssmjp_osc
Loading in …3
×

Check these out next

1 of 16 Ad

More Related Content

Slideshows for you (20)

Similar to Python Tip LT 20210805 nlog2n2 (20)

Advertisement

Recently uploaded (20)

Advertisement

Python Tip LT 20210805 nlog2n2

  1. 1. @nlog2n2 Sekiguchi Toshihiro SSIDとパスワードを生成し、 
 QRコードにして Slack にぶん投げる
  2. 2. 今日話すこと 無線LANのSSIDとパスワードの更新が面倒だったので、 
 Pythonでその辺の自動化を実装した話 去年、Qiitaに投稿したやつを話します 
 https://qiita.com/nlog2n2/items/355595d7c23298a86970
  3. 3. 出来上がったもの こんな感じで iPhone で Slack の QR コードを読み取ると、SSIDとパスワードを自動で設定してくれる。 
 個人的には未完成で本当は netmiko , Ansible と組み合わせて使うつもりだった。印刷もしたかった... :( 毎月、ゲスト用のSSIDとパスワードを変更するのは面倒すぎる
  4. 4. 事前準備( Slack bot の設定 ) • Slackチャンネル開設 • AppでBotsのアプリケーションを追加 • ボットのユーザー名記載し、ボットインテグレーションを追加 • インテグレーションの設定でAPIトークンを取得
  5. 5. QRコード発行までの流れ 1. 初期設定 2. SSIDとパスワードの文字列生成 3. SSIDとパスワードのQRコード生成 4. SSIDとパスワードの文字列画像を生成 5. QRコードと文字列画像を結合 6. 画像をファイルとして保存 7. 作成したSSID・パスワード文字列と画像を slack に投げる
  6. 6. Code • 初期設定部分 • 解説が必要そうなモジュール • secrets:乱数を生成する • qrcode:QRコードを生成する • PIL:作成されたQRコードと文字列の画像を合体させる • requests, json:Slackに POST で送信する • 設定項目 • CONPANY_NAME = 'SSID の先頭の文字列を入力します' • ENCRYPTION_METHOD = '無線 LAN の暗号化方式を入力します' • SLACK_TOKEN = 'QRコードを投下する Slack に投下するためのトークンを入力します' • SLACK_CHANNEL = 'QRコードを投下する Slack のチャンネルを指定します' • FONT_PATH = 'CentOS 上にあるフォントの位置を指定します'
  7. 7. Code • SSIDとパスワードの文字列生成 • SSIDとパスワードのQRコード生成 • SSIDとパスワードの文字列画像を生成 • QRコードと文字列画像を結合 • 画像をファイルとして保存 • 作成したSSID・パスワード文字列と画 像を slack に投げる SSIDとパスワードの文字列生成 SSIDとパスワードのQRコード生成 SSIDとパスワードの文字列画像を生成 QRコードと文字列画像を結合 画像をファイルとして保存 作成した SSID・パスワード文字列と画像を slack に投げる
  8. 8. Code GUEST-2020-01 というSSID を作成 作成したもの SSID:GUEST-2020-01 パスワード:HjsXvIQQvxsXwEOk WIFI 接続情報:WIFI:T:WPS;S:GUEST-2020-01;P:HjsXvIQQvxsXwEOk;; 配列:[ 'SSID:GUEST-2020-01','Password:HjsXvIQQvxsXwEOk;' ]
  9. 9. Code [a-z][A-Z]のランダムな文字列取り出し 指定された文字列長でを結合する 作成したもの SSID:GUEST-2020-01 パスワード:HjsXvIQQvxsXwEOk WIFI 接続情報:WIFI:T:WPS;S:GUEST-2020-01;P:HjsXvIQQvxsXwEOk;; 配列:[ 'SSID:GUEST-2020-01','Password:HjsXvIQQvxsXwEOk;' ]
  10. 10. Code WIFI:T:無線LANの暗号化方式;S:SSID;P;パスワード;; の文字列を作成 SSIDとパスワードの文字列配列を作成 ↑無線LAN接続情報 作成したもの SSID:GUEST-2020-01 パスワード:HjsXvIQQvxsXwEOk WIFI 接続情報:WIFI:T:WPA;S:GUEST-2020-01;P:HjsXvIQQvxsXwEOk;; 配列:[ 'SSID:GUEST-2020-01','Password:HjsXvIQQvxsXwEOk;' ]
  11. 11. Code 無線LAN接続情報をもとにQRコード作成 作成したもの SSID:GUEST-2020-01 パスワード:HjsXvIQQvxsXwEOk WIFI 接続情報:WIFI:T:WPS;S:GUEST-2020-01;P:HjsXvIQQvxsXwEOk;; 配列:[ 'SSID:GUEST-2020-01','Password:HjsXvIQQvxsXwEOk;' ]
  12. 12. Code 無線LAN接続情報の文字列を画像として生成 作成したもの SSID:GUEST-2020-01 パスワード:HjsXvIQQvxsXwEOk WIFI 接続情報:WIFI:T:WPS;S:GUEST-2020-01;P:HjsXvIQQvxsXwEOk;; 配列:[ 'SSID:GUEST-2020-01','Password:HjsXvIQQvxsXwEOk;' ]
  13. 13. Code QRコードと無線LAN情報の画像を結合する
  14. 14. Code 作った画像をファイルに保存
  15. 15. Code slack 宛へ画像と文字列を送信する
  16. 16. 出来上がったもの こんな感じで iPhone で Slack の QR コードを読み取ると、SSIDとパスワードを自動で設定してくれる。 
 個人的には未完成で本当は netmiko , Ansible と組み合わせて使うつもりだった。印刷もしたかった... :( 毎月、ゲスト用のSSIDとパスワードを変更するのは面倒すぎる

×