Wiresharkの使い方
今ではパケットキャプチャの定番とも言えるWiresharkについて、インストール、実行、画面の見方からフィルタ方法、停止方法、モニタモード等基本的な使い方について説明しています。
パケットの解析方法については、次ページの「Wiresharkを使った解析」をご参照下さい。
Wiresharkの概要
Wiresharkは、パケットキャプチャを行うソフトウェアです。
GPLというライセンスを採用していて、自由にダウンロードして無料で利用出来ます。
尚、Wiresharkはバージョン2系から標準で日本語対応になりました。本ページはV3系について説明しています。旧版については「Wiresharkの使い方/V1版」、又は「Wiresharkの使い方/V2版」をご参照下さい。
Wiresharkのダウンロード
Wiresharkは、以下のサイトで「Download」をクリックし、インストールするパソコンに該当するファイルをダウンロードします。
Windowsにインストールする場合、通常はWindows Installerの64bit版か32bit版を選択する事になります。パソコンにあったファイルをクリックし、好きな場所に保存します。
Wiresharkのインストール
ダウンロードしたファイルをダブルクリックして実行します。ユーザーアカウント制御の画面が出たら、「はい」をクリックすると以下の画面になります。
「Next>」をクリックすると、以下の画面になります。
ライセンス同意画面のため、「I Agree」をクリックすると以下の画面になります。
「Next>」をクリックすると、以下の画面になります。
チェック項目の意味は、以下の通りです。
- ・Wireshark Start Menu Item
- WireSharkをタスクバー一番左のWindowsマークから選択出来るようになるため、通常はチェックしたままにします。
- ・Wireshark Desktop Icon
- デスクトップに表示するかどうかなので、表示したい人はチェックします。
- ・Wireshark Quick Launch Icon
- タスクバーへ常に表示するかどうかなので、よく使う人はチェックします。
- ・Associate trace file extensions to Wireshark
- 表示されている拡張子のファイルではWiresharkが起動するようになるため、通常はチェックしたままにします。
「Next>」をクリックすると、以下の画面になります。
インストール先ですが、通常は変更しなくてよいためそのまま「Next>」をクリックすると以下の画面になります。
Npcapというソフトをインストールするか確認されますが、必須のためチェックしたまま「Next」をクリックすると以下の画面になります。
USBPcapというソフトをインストールするか確認されます。USBデータをキャプチャしたい人はチェックします。チェックせずに「Install」をクリックするとファイルをコピーする画面が出た後、以下の画面になります。
Npcapのライセンス同意画面のため、「I Agree」をクリックすると以下の画面になります。
チェック項目の意味は、以下の通りです。
- ・Support loopback traffic ("Npcap loopback Adapter" will be created)
- 装置内で折り返すループバック(例:127.0.0.1)も採取する時にチェックしたままにします。
- ・Restrict Npcap driver's access to Administrators only
- 管理者権限を持ったユーザーだけWiresharkを使えるようにしたい場合にチェックします。
- ・Support raw 802.11 traffic (and monitor mode) for wireless adapters
- イーサネット形式ではなく、モニタモードを有効にして無線LANで使う802.11形式でキャプチャしたい場合にチェックします。使い方は、「モニタモード」をご参照下さい。
- ・Install Npcat in WinPcap API-compatible Mode
- 以前のWiresharkで使われていたWinPcapとして、疑似的に動作させたい時にチェックします。WinPcapのみサポートしているソフトウェア等で使います。
「Install」をクリックすると、ファイルをコピーして以下の画面になります。
「Next>」をクリックすると、以下の画面になります。
Npcapのインストールが完了した事を示す画面のため、そのまま「Finish」をクリックするとファイルをコピーして以下の画面になります。
Wiresharkのインストールが完了した事を示す画面のため、そのまま「Next>」をクリックすると以下の画面になります。
「Finish」をクリックすると、インストールは完了です。
Wiresharkの実行
インストール時に「Wireshark Desktop Icon」を選択していればデスクトップのアイコンをダブルクリック、「Wireshark Quick Launch Icon」を選択していればタスクバーのアイコンをクリックして起動します。「Wireshark Start Menu Item」だけ選択した場合は、タスクバー一番左のWindowsマークから起動します。
上記の初期画面で、フレームを採取したいインターフェースをダブルクリックする事でキャプチャが開始されます。
尚、プロミスキャスモード(無差別にキャプチャ)はデフォルトで有効なため、イーサネットアダプタでは他機器間で通信しているフレームもキャプチャ出来ます。無線LANの場合は、自分が送受信するフレームしかキャプチャ出来ません。
又、インストール時に「Support loopback traffic ("Npcap loopback Adapter" will be created)」をチェックしていた場合、「Npcap Loopbak Adapter」を選択するとループバック通信が採取出来ます。
画面の見方
キャプチャし始めると、以下の画面になります。
赤枠で囲った部分はフレームの流れを示し、パケット一覧(Packet List)と呼ばれる部分です。
紫で囲った部分は赤枠内で選択した1フレームの中身を分かり易く表示しており、パケット詳細(Packet Details)と呼ばれる部分です。初期状態はヘッダー毎にまとまっていますが、一番左の>をクリックする事でヘッダーの中身を確認出来ます。ヘッダーの中身では、これまで説明してきたヘッダー構造とその値を見る事が出来ます。
緑で囲った部分は1フレームを16進数で表示しており、パケットバイト(Packet Bytes)と呼ばれる部分です。紫部分はこの16進数を読み取って分かり易く表示しています。紫部分で例えばSorce port部分をクリックすると該当する16進数部分が選択されるため、ヘッダーに対して16進数ではどの部分が該当するか確認する事が出来ます。
Wiresharkでフレームを採取すると大量のフレームが表示されますが、フィルタにより表示したいフレームだけ表示する事が出来ます。フィルタは画面上の薄く「表示フィルタを適用します・・・」と記載された所に記入してエンターキーを押す事で有効になります。
フィルタの例を以下に示します。
フィルタ | 例 | 例でのフィルタ内容説明 |
---|---|---|
ip.addr== | ip.addr==192.168.1.1 | 192.168.1.1を送信元、又は宛先IPアドレスとするフレーム |
ip.src== | ip.src==192.168.1.2 | 送信元:192.168.1.2のフレーム |
ip.dst== | ip.dst==192.168.1.3 | 宛先192.168.1.3のフレーム |
プロトコル | icmp | icmpプロトコルのフレーム(他にはtcp,udp,http,arp等) |
tcp.port== | tcp.port==80 | TCPポート番号80を送信元、又は宛先とするフレーム |
udp.port== | udp.port==53 | UDPポート番号53を送信元、又は宛先とするフレーム |
条件式を利用してもう少し複雑なフィルタも書けます。以下に例を示します。
条件式 | フィルタ例 | 説明 |
---|---|---|
&& | ip.src==102.168.1.2 && ip.dst==192.168.1.3 | 送信元192.168.1.2、且つ宛先192.168.1.3のフレーム |
|| | ip.src==102.168.1.2 || ip.dst==192.168.1.3 | 送信元192.168.1.2、又は宛先192.168.1.3のフレーム |
() | (ip.src==192.168.1.2 && ip.dst==192.168.1.3) || (ip.src==192.168.1.4 && ip.dst==192.168.1.5) | 送信元192.168.1.2で宛先192.168.1.3、送信元192.168.1.4で宛先192.168.1.5両方のフレーム |
最後の例は()で括る事で数学のように()内が先に判断されます。
よく使う例の1つは「ip.addr==192.168.1.2 && ip.addr==192.168.1.3 || icmp」です。192.168.1.2と192.168.1.3間の通信を調査したい場合、行きと帰りのフレームを採取するためです。icmpはエラーや通信上の情報を与えてくれてトラブル解決のヒントになる事があるため表示するようにします。
キャプチャの停止と保存
キャプチャは、「キャプチャ」から「停止」を選択する事で停止出来ます。
キャプチャしたデータは「ファイル」から「...として保存」を選択し、その後ファイル名を入力してセーブ可能です。
セーブしたキャプチャデータは、ファイルをダブルクリックする事でいつでも見れます。
表示フィルタは表示をフィルタするため、実際には全てのフレームをキャプチャしています。このため、多量のフレームが流れている時はすぐにデータが大きくなってしまいます。
データが大きくならないように必要なフレームのみ採取する方法があり、キャプチャフィルタと言います。キャプチャフィルタは長時間採取が可能になるため、例えば夜間採取し続ける時等に有効です。
キャプチャフィルタは、最初に利用するインターフェースを選択し、「キャプチャフィルタ・・・を入力」部分にフィルタ内容を入力してエンターキーを押すと、採取が開始されます。
キャプチャフィルタの指定方法は表示フィルタと違います。以下に例を示します。
フィルタ | 例 | 例でのフィルタ内容説明 |
---|---|---|
host | host 192.168.1.1 | 192.168.1.1を送信元、又は宛先IPアドレスとするフレーム |
ip src host | ip src host 192.168.1.2 | 送信元:192.168.1.2のフレーム |
ip dst host | ip dst host 192.168.1.3 | 宛先192.168.1.3のフレーム |
プロトコル | icmp | icmpプロトコルのフレーム(他にはtcp,udp,http,arp等) |
tcp port | tcp port 80 | TCPポート番号80を送信元、又は宛先とするフレーム |
udp port | udp port 53 | UDPポート番号53を送信元、又は宛先とするフレーム |
尚、「&&」、「||」、「()」は表示フィルタと同じように使えます。
インストール時に「Support raw 802.11 traffic (and monitor mode) for wireless adapters」をチェックしていると、モニタモードを有効にして無線LANの通信を802.11形式そのままで採取できます。
モニタモードを使う時は、Wiresharkのアイコンを右クリックして「その他」→「管理者として実行」で起動します。ユーザーアカウント制御の画面が出たら「はい」をクリックします。起動後は、「キャプチャ」から「オプション」を選択します。
以下の画面が表示されます。
キャプチャするインターフェースを選択後、モニタモードにチェックを入れ、「開始」をクリックするとキャプチャが開始されます。
モニタモードでは、以下のようにRadiotopヘッダー(受信時のdBm等補足)を付けて、IEEE 802.11形式のフレームで表示されるようになります。
上記は、無線親機からのビーコン(親機から定期的に送信)をキャプチャした例です。IEEE 802.11部分を展開するとSSIDやサポートする速度等、無線LANで通信する上で必要なパラメタ等もあるため、無線LANそのものの通信内容が分かります。
無線LANでの通信は、インターフェースで受信したIEEE 802.11形式のフレームをイーサネット形式に変換して上位レイヤーに渡します。モニタモードが無効な場合、この変換されたフレームをWiresharkはキャプチャします。このため、以下のようなイーサネット形式で表示されます。
モニタモードを有効にすると、インターフェースに届いた状態のままキャプチャします。このため、IEEE 802.11形式のままキャプチャ出来ますし、ビーコンや認証のような管理フレームもキャプチャ出来ます。他機器間の通信含めた管理フレーム等も採取可能ですが、IP層以上はデータとして扱われます。
尚、モニタモードでキャプチャしている時は自身のパソコンで通信が出来ません。つまり、自身の通信はキャプチャ出来ません。キャプチャ終了後は通信可能になります。
通常はモニタモードを無効にして機器間の通信をキャプチャして解析しますが、無線LAN内の管理フレーム等をキャプチャする時はモニタモードを有効にする必要があります。
次のページ「Wiresharkを使った解析」
- トラブル対応「ポートミラーリング」