search
LoginSignup
43

More than 5 years have passed since last update.

posted at

Organization

MacでWiresharkを使う

インストール

現在は、brewで入るらしい。

$ brew install wireshark --with-qt

なんか、インターフェイスリストが空になってしまうバグが有るらしいので、以下のコマンドを打って直す。

$ curl 'https://bugs.wireshark.org/bugzilla/attachment.cgi?id=3373' -o ChmodBPF.tar.gz
$ tar zxvf ChmodBPF.tar.gz
$ open ChmodBPF/Install\ ChmodBPF.app

起動してみる

$ wireshark

でGUIが開く。

特定の通信を見てみる

例として、https://api.github.comへの通信を見てみる

準備

$ nslookup api.github.com

をして、api.github.comのIP Addressを取得する。

Name:   api.github.com
Address: 192.30.252.125

とわかる。

パケットフィルタとして、こことの通信だけを見たいので

ip.dst==192.30.252.125||ip.src==192.30.252.125

とすれば良いことがわかる。

実は、api.github.comのipはすぐ変わってしまうので、ホスト名指定のip.dst_hostとかを使いたかったが上手くいかなかった。ipで指定しておくのが無難そう。

実践

この状態で

$ curl https://api.github.com

と打つと以下のようになる

Kobito.ZHtbIb.png

上の部分だけ頑張って切り貼りした画像作った。通信の流れの一覧は以下のようになっている。

Kobito.XE7tT5.png

TCPの3ウェイ・ハンドシェイクやHTTPSの鍵交換などが行われているのもよく分かる。
最後の方にRSTパケットが送られているが、FINを送った後ずっと定期的にRSTを送る仕様になってるみたい。2回目に同じことをやったら個々の部分だけ少しだけ順番が違った。

Kobito.i4uV56.png

これは練習なので、ここまでで終わりとしますが、httpsの通信の詳細や、ここで最後にエラーが出ているのは「SSLキャッシュが効いているから」みたいな話は以下のブログが詳しかったです。
http://d.hatena.ne.jp/ozuma/20140413/1397397632

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
43