全1393文字

 Windowsでパケットを収集し、解析する方法は、これまでよく解説されてきた。しかしパケットを収集したい箇所に必ずしもWindowsパソコンを接続できるとは限らない。特にサーバーの通信をチェックしたい場合には、直接そのサーバーでパケットを収集できると便利だ。

コマンドは標準で付属

 サーバーに使われているLinuxやUNIXの多くで「tcpdump」というコマンドが使える。標準でインストールされていなくてもパッケージが用意されている。macOSもBSD系列のUNIXをベースにしているため、tcpdumpは標準で備えている。

 コンソールで「tcpdump」と入力すればパケットの収集を始める。名称にtcpとあるが、TCP(Transmission Control Protocol)だけでなくパケット全般をキャプチャーできる。結果はそのままコンソールに表示される。

LinuxやmacOSの標準コマンド「tcpdump」
LinuxやmacOSの標準コマンド「tcpdump」
[画像のクリックで拡大表示]

 ただしこれだと後々解析ができない。そこで「-w」オプションで出力先のファイルを指定する。tcpdumpで保存したファイルはパケットキャプチャーソフトの「Wireshark」で直接読み込める。

 またデフォルトではすべてのネットワークインターフェースに届いたパケットを収集してしまうので、「-i eth0」「-i wlan0」などと指定して収集するインターフェースを限定する。ポート番号や宛先IPアドレスなどで絞り込むことも可能だ。

Wiresharkも使える

 LinuxやMacではtcpdumpだけでなくWiresharkも使える。比較的安価なコンピューターである「Raspberry Pi」もLinuxで動くのでWiresharkを利用できる。頻繁に使う機会があるならパケットキャプチャー専用機を用意すると便利だろう。

 例えばRaspberry Piを利用した米サンファウンダーの「RasPad」ならば、タッチ操作が可能な液晶ディスプレーと充電池が一体化しているので、いわば「キャプチャーボックス」として利用できる。

Raspberry Piを「キャプチャーボックス」として使う
Raspberry Piを「キャプチャーボックス」として使う
[画像のクリックで拡大表示]