Wireshark(旧:Ethereal)は多くのプラットフォーム(Windows、Mac OS X、UNIX/Linux)に対応しているフリーのパケットキャプチャ&アナライザソフトで、有線や無線LANネットワークに流れる通信を見ることができます。
例えばネットワーク障害発生時「インターネットに繋がらない」と言っても様々なケースが考えられるので原因究明にこのソフトが活躍します。
IPアドレスを自動取得設定にしているのであれば
DHCPサーバからIPアドレスが払い出されているのかいないのか、
ARP解決ができてないから宛先が分からない状態に陥っているのか、
DNSサーバが名前解決できていないからなのか、クライアントから
TCPコネクションを確率しようと
スリーウェイハンドシェイクにおけるSYNフラグ付きのパケットを投げたもののサーバから応答が返ってこないならサーバがダウンしているのではという推測や、TCPヘッダーの制御ビットにRSTを含んだACK応答が返されるのであればサーバから弾かれている気がする、など、ある程度の目星を付けることができます。
日本語未対応であることや、「どこの通信先と何のためにどんなパケットをやり取りをしているのか」を少しでも正確に理解するには、ソフトの使い方というより
プロトコルに関する高度な知識が必要です。私は
CCNPを保有していますが、何がなにやらさっぱり分からない項目や概念の方が圧倒的に多いです。この間 NULL 暗号化アルゴリズムを使用している
ESPパケットの解読機能動作や、
SSL/TLSトラフィックの復号が実際に動作した時は目から鱗でした。
最近まで1.0.x系だったバージョンが先月1.2.xにバージョンアップしていたので紹介。
Wireshark 最新版(無料)のダウンロード
本家のダウンロードページから入手します。
Wiresharkのインストール
アプリケーションの保存画面。
実行します。
インストーラが起動します。
説明画面で「I agree」を選択します。
インストールファイルの選択画面です。
スタートメニューアイコン、デスクトップアイコン、タスクバーのクイックランチャーに追加するかの選択。下はキャプチャファイルの関連付け。
インストールディレクトリの選択画面です。
WinPcapのインストールは必須です。
あなたの画面のデフォルトのままで進めて問題ありません。
WinPcapが入っていなかったり古いバージョンであればWinPcapのインストール項目にチェックが入っていて、この時に古いバージョンの削除やインストールを割り込んで行えます。
下の項目については管理者権限がなくてもWiresharkが動くようになるそうです。
アプリケーションのインストールが始まります。
インストール完了後、上の項目にチェックを入れてインストーラを閉じるとWiresharkを起動します。
Wiresharkの起動後のキャプチャ方法
Wireshark 1.2.0 起動画面。このバージョンからインターフェイスリストが起動直後の画面に追加されたため、1クリックでNICを選択とキャプチャ開始を行えるようになっています。
選べるNICや名称は人それぞれなので、どのNICを選択すれば分からないという方は、②もしくは③→Interfacesで一覧を出したままで通信(動画サイト閲覧など)を行い、Packets量の増加分を見るのが手っ取り早いと思います。
キャプチャを停止するには「×」アイコンをクリックするのが簡単です。
キャプチャしたデータを保存するには[File]→[Save As…]から行えます。
Wiresharkの設定例
[Edit]-[Preferences...]メニューからカスタマイズが行えます。
例えば今回は[+]User Interfaceを展開してColumns項目から、[Add]→Length と名前付けてフォーマットを「Packet length(bytes)」に選択することでパケットの大きさが分かる項目を増やしました。OKボタンの横にあるApplyを忘れずに押下しましょう。
また、Wiresharkの定番設定としてプロミスキャスモードというものがあります。
[+]User Interfaceを展開したところにある[Capture]項目で、「Capture packet in promiscuous mode」のチェックを外した状態だとWireshark動作PC間通信のみキャプチャします。場合によって使い分けるのが基本ですが、Wiresharkには強力なフィルタリング機能があるので後で条件を指定して抽出表示することもできます。