Linuxでパケットキャプチャを取得する方法

投稿者 : OSCA

[PR] "東野・岡村の旅猿"で登場したロケ地を紹介するファンサイト「あの場所へ行こう!」はこちら。

 Linux 上で通信パケットのキャプチャを取得する方法の選択肢について本稿では解説します。

パケット解析ツール

 Linux 上でパケットキャプチャを取得するためのツールとしてメジャーなものは、tcpdumpWireshark でしょう。 どちらも優れたパケット解析ツールです。
 どちらのツールも、取得したパケットを出力する機能、特定の条件のパケットのみを取得するためのフィルタ機能などをもっています。

tcpdump

 tcpdump はパケット解析のツールとして古くからある基本的なツールで、ほとんどの Unix 系システムで利用することができます。 取得したパケットを出力するのが主な機能です。

Wireshark

 Wireshark は Wireshark Foundation で開発されているパケット解析ツールで、GUI環境でも利用できます。 Windows / Mac OS / Linux など幅広い OS に対応しています。 Wireshark は tshark というコマンドライン版も含んでいるため、GUI が利用できない Linux でも利用することができます(tshark だけ個別にインストールすることも可能です)。
 Wireshark の GUI では取得したパケットを分かりやすくグラフィカルに表示できます。 上記の tcpdump で取得したパケットを Wireshark で表示することもできます。 ただし Linux に Wireshark をインストールできる状況/環境であれば、Wireshark (tshark) を選択すれば良いのではないでしょうか。

ツールの選択

 利用するマシンが開発用で自由にソフトウェアのインストールを行っても良い場合は、Wireshark をインストールすれば良いのではないでしょうか。 自由に変更できないサーバマシンなどでパケットを取得する場合は、ほとんどの場合デフォルトでインストールされている tcpdump を利用してパケットを取得することになるでしょう。 取得したパケットのログファイルを手元に持ってこれる場合は、そのログファイルを Wireshark に食わせて表示すると便利だと思います。

おわりに

 Linux 環境でパケットキャプチャを取得する方法について、まずはツールについて紹介しました。 別稿ではツールの使い方について解説したいと思います。 (現在執筆中)

Miscのトップへ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。 個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca