開発
Twitterのログイン処理をパケットでみる。
Seiya Kobayashi
アルバイトの小林です。
Twitterにログインする時、どんな通信をしているか簡単に見ていきましょう。
おなじみ WireShark を使います。
キャプチャオプションからキャプチャしたいところを選んで、”開始”ボタンを押すとキャプチャが始まります。
Wi-Fi環境なのでWi-Fiを選びます。
すると膨大な量のパケットが流れてきます。
ここからTwitterとの通信を探します。
フィルタ機能などがありますが、ここでは安易に command + f でtwitterと調べてもそれらしき通信がいくつか見つかります。
次の通信に目をつけました。
ローカルのPC と 104.244.43.235:433 とのTCPハンドシェイクが行なわれているのがわかります。( 275 ~ 277 )
IPアドレスを調べるとTwitterのものであることも確認できます。( https://db-ip.com/all/104.244.43 )
433ポートはHTTPS通信に使われるポートです。
これが完了すると次にSSLハンドシェイクが続きます。
これらによってセキュアな通信が確立されます。
肝心のデータはセキュアな通信が確立された後に送られます。
データはInfo欄が Application Data となっているパケットに格納されていて、その中身を見てみると ( 画像下部 )
暗号化されたデータが入っていることがわかります。
FIN/ACKにより認証が終わると、ホームページへリダイレクトされます。
時間があまり取れず、簡単な説明でこれだけですが、
Facebookのログイン処理を見てみるとTwitterとは異なる処理をしていることがわかったりします。ぜひやってみてください。
他にも自分が普段使っているサービスのパケットを見てみるのも面白いかもしれませんね。
ありがとうございました。