Wireshark
パケットをキャプチャーして解析
- URL:https://www.wireshark.org/
- 提供:Gerald Combs氏 and contributors
- 対応OS:Windows/macOS/Linux
ネットワーク管理の基本は、LANケーブルを流れるパケットの中身を調べることといえるだろう。パケットを取り込んで中身を見てネットワークの状態を調べることは「パケットキャプチャー」と呼ばれる。
例えばトラブル発生時には異常なパケットを調べることで障害が発生している機器を特定できる。ネットワークにつながったパソコンのマルウエア(ウイルス)感染を検知できる場合もある。マルウエアによっては特徴のあるパケットを送信するからだ。
パケットの中身を調べるには専用のパケットキャプチャーソフトが必要だ。代表的なパケットキャプチャーソフトの1つがオープンソースソフトウエア(OSS▼)の「Wireshark」である。
キャプチャー環境を簡単に構築
Wiresharkのメリットはパケットキャプチャーを実施する環境を簡単に構築できることだ。公式サイト▼にはWindowsやmacOS、Linuxといった各種OS用のインストーラーが用意されている。インストーラーをダウンロードして実行するだけでWiresharkがインストールされて、パケットキャプチャーを実施できるようになる。
Wiresharkを起動すると最初にネットワークインターフェースを選択する画面が表示される(図1)。ここでパケットを取り込みたい(キャプチャーしたい)インターフェースを選択すると、パケットのキャプチャーが始まる。
パケットキャプチャーの画面は大きく3つに分かれる。上がキャプチャーしたパケットの送信元/宛先のIPアドレスやプロトコル名、パケットサイズなどを表示する画面だ。ここでパケットを選択すれば、真ん中の画面にヘッダー▼などの情報をツリー構造で表示する。具体的にはイーサネットフレームヘッダーやIPヘッダー▼、TCPヘッダー▼といった情報やヘッダーに含まれる送信元および宛先のアドレスが表示される。下の画面には選択したパケットがバイナリー形式で表示される。
キャプチャーを開始したり、停止したりする操作は画面上部左側のボタンで行う。オプション設定の画面を表示するボタンや、キャプチャーしたパケットを検索するボタンもある。後でパケットを詳しく解析したい場合は、停止ボタンを押してキャプチャー結果をファイルとして保存しておく。
フィルター機能が使いやすい
Wiresharkには様々な機能が備わっている。その中で特に使いやすいのがフィルター機能だ。画面上部のボタン群の下にある欄にプロトコル名やポート番号といった条件を入力するとパケットを絞り込める(図2)。入力時は補完機能によって絞り込む条件の候補が表示される。
絞り込む条件に「&&」や「||」といった論理演算子を利用できるのも便利だ。例えばTCPポートの80番またはUDPポート▼の80番で送受信されたパケットだけを抽出するには「tcp.port == 80 || udp.port == 80」という条件を入力する。
コマンドラインソフトもある
Wiresharkのインストール時に「Tshark」の項目欄にチェックを入れれば、コマンドラインで実行できるパケットキャプチャーソフトのTsharkもインストールできる。例えばWindows版であればWiresharkのインストール先と同じフォルダー▼に「tshark.exe」としてインストールされる。このファイルをコマンドプロンプトなどで実行する。
Wiresharkはキャプチャーしたパケットをグラフィカルに表示できるが、その分処理が重い。流れるパケットの量が増えるとパソコンの処理が追いつかず、キャプチャーできないパケットが発生することもある。
一方、Tsharkはコマンドラインで実行するためパソコンにかかる負荷が低い。Wiresharkでうまくキャプチャーできない場合はTsharkを試すとよいだろう。