Unix command > tshark (パケットダンプ)

更新日 2013-03-31
広告
tsharkは、Wiresharkのコマンドライン版です。お手軽に、Wiresharkと同じように通信の内容を出力できます。

インストール

Ubuntuの場合、aptでインストールできます。
$ sudo apt-get install tshark

基本的な使い方

一番シンプルな使い方は、以下です。
$ sudo tshark -i eth0
-i は、ネットワークインターフェースを指定するオプションです。ネットワークインターフェースの名前は、ifconfigコマンドを使えば調べれます。私の環境では 'eth0' でした。キャプチャを止める場合は「コントロール+C」でよいでしょう。

名前解決をしない

デフォルトで、tsharkは、DNSを利用し、IPアドレスからホスト名を解決しようとします。ホスト名を解決すると、出力される結果は見やすくなるかもしれませんが、キャプチャ中の処理負荷が上がります。以下のように、-n オプションを追加すると、tsharkは名前解決を行いません。
$ sudo tshark -i eth0 -n

フィルタ

キャプチャするパケットを限定したい場合があります。この場合は、-f オプションを使います。-f オプションは、Wiresharkと同じ「キャプチャフィルタ」を指定するオプションです。「キャプチャフィルタ」の詳細は公式サイトを参照するとよいでしょう。

以下に、いくつか例を示します。IPアドレス 192.168.0.2 のパケットだけをキャプチャする例です。

$ sudo tshark -i eth0 -n -f 'host 192.168.0.2'
ポート番号 53 のパケットだけをキャプチャ
$ sudo tshark -i eth0 -n -f 'port 53'

エポック秒

$ tshark -t e -i eth0 -n -f 'port 5432'
'-t e' と指定することで、エポック秒を出力できます。

ファイル出力

$ tshark -t e -i eth0 -n -f 'port 5432' -w test.txt
-wオプションにより、キャプチャデータをファイルに出力できます。 出力したファイルは、-rオプションで読み込み、内容を表示できます。 ファイルを出力するディレクトリに、書き込み権限が必要です。
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system