Mac Wiresharkの使い方、フィルタしてパケットキャプチャ

Windows ユーザーだった頃は Wireshark を使ったことがあったのですけど、Mac に転向して以来はじめて Wireshark を使ってみました。ということで Mac に Wireshark をインストールして、簡単なフィルタを行い通信パケットを確認する手順。

スポンサーリンク

Wireshark インストール

Wireshark は X11(X Window System)で GUI を表示する。OS X Mavericks 以降は、X11 の代わりに XQuartz が必要らしいので、Wireshark インストールの前に以下から XQuartz をインストール。

XQuartz

Wireshark 本体は以下からインストール。

Wireshark・Download

または、homebrew で wireshark をインストール。

インストールが終了したら Wireshark 起動。

Screen Shot 2014-12-08 at 19.04.22

初回起動時は、結構時間がかかります。

フィルタを指定してパケットキャプチャ

Wireshark ヘッダメニューの Capture → Interfaces から、パケットキャプチャを行うネットワークインターフェースを選択します。ローカルのマシンの確認であれば、そのプライベートIPアドレスのもの(Macの場合、Devise: en0)を選択する。選択したら Start。

Screen_Shot_2014-12-08_at_19_21_32

何もフィルタを指定しないと、パケットがどんどん流れていって見難いので、フィルタで確認するパケットを絞り込みます。そして、ブラウザやターミナルで通信を行うと、Wireshark でキャプチャしたパケットを確認できる。以降は Filter の入力例。

TCPポート80番(httpプロトコル)のパケットを確認。== とイコールが2つであることに注意。

UDPのポート53番(DNSプロトコル)を確認。

ブラウザで適当にどこかのウェブサイトにアクセスすると、以上の http, dns プロトコルの通信を確認できます。

icmpのパケットを確認。

icmp を指定すると ping コマンドなどで使われる ICMP プロトコルのパケットを確認できる。ターミナルで以下を入力すると、wireshark の画面でも icmp のパケットが流れるのを確認できます。yahoo japan に ping する例。

最後に、yahoo japan への http リクエストによる通信のパケットを確認してみます。まず nslookup コマンドで、yahoo.co.jp のIPアドレスを調べる。

tcpのポート80番(http)で yahoo.co.jp への通信を確認する指定を Filter に入力。nslookup で調べた yahoo.co.jp のIPアドレスを ip.dst_host に指定します。

ブラウザで yahoo.co.jp にアクセスした後、Wireshark で確認。HTTPメソッドはGETで、SYN → ACK → FIN, ACK という3ウェイ・ハンドシェイクによるパケット通信を確認できます。

以上、簡単ですが Mac での Wireshark の使い方でした。

スポンサーリンク
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!