Windowsでパケットを収集し、解析する方法は、これまでよく解説されてきた。しかしパケットを収集したい箇所に必ずしもWindowsパソコンを接続できるとは限らない。特にサーバーの通信をチェックしたい場合には、直接そのサーバーでパケットを収集できると便利だ。
コマンドは標準で付属
サーバーに使われているLinuxやUNIXの多くで「tcpdump」というコマンドが使える。標準でインストールされていなくてもパッケージが用意されている。macOSもBSD系列のUNIXをベースにしているため、tcpdumpは標準で備えている。
コンソールで「tcpdump」と入力すればパケットの収集を始める。名称にtcpとあるが、TCP(Transmission Control Protocol)だけでなくパケット全般をキャプチャーできる。結果はそのままコンソールに表示される。
ただしこれだと後々解析ができない。そこで「-w」オプションで出力先のファイルを指定する。tcpdumpで保存したファイルはパケットキャプチャーソフトの「Wireshark」で直接読み込める。
またデフォルトではすべてのネットワークインターフェースに届いたパケットを収集してしまうので、「-i eth0」「-i wlan0」などと指定して収集するインターフェースを限定する。ポート番号や宛先IPアドレスなどで絞り込むことも可能だ。
Wiresharkも使える
LinuxやMacではtcpdumpだけでなくWiresharkも使える。比較的安価なコンピューターである「Raspberry Pi」もLinuxで動くのでWiresharkを利用できる。頻繁に使う機会があるならパケットキャプチャー専用機を用意すると便利だろう。
例えばRaspberry Piを利用した米サンファウンダーの「RasPad」ならば、タッチ操作が可能な液晶ディスプレーと充電池が一体化しているので、いわば「キャプチャーボックス」として利用できる。