Linuxコマンド【 tcpdump 】ネットワークのトラフィックをダンプ
当ページのリンクには広告が含まれています。
スポンサーリンク
tcpdumpコマンドは、ネットワークのトラフィックをダンプするコマンドです。
tcpdumpコマンド
書式
tcpdump [オプション] [条件式]
ネットワークインターフェースを通るパケットのヘッダ情報を表示します。
オプション
| -c パケット数 | 指定したパケット数を受信した後、コマンドを終了します。 |
| -d | パケットマッチングコードを人間が読める形式で標準出力にダンプします。 |
| -dd | パケットマッチングコードをC言語の利用可能形式でダンプします。 |
| -ddd | パケットマッチングコードを10進数でダンプします。 |
| -e | リンクレベルヘッダーを表示します。 |
| -F ファイル名 | フィルター条件式が記載されたファイル名を指定します。 |
| -i インターフェース | 監視するインターフェースを指定します。 |
| -l | 標準出力をバッファします。 |
| -n | アドレス、ポート番号の名前解決を行いません。 |
| -q | 限定したプロトコルの情報のみを表示します。 |
| -r ファイル名 | オプション -w で作成したファイルを読み込みます。 |
| -t | 時間情報を表示しません。 |
| -w ファイル名 | 指定したファイル名にパケット情報を書き込みます。 |
| -v | 詳細情報を表示します。 |
| -vv | もっと詳細情報を表示します。 |
| -vvv | もっともっと詳細情報を表示します。 |
| -x | パケットを16進数で表示します。 |
| -X | 16進数で表示されるときに、ASCII文字も表示します。 |
条件式
| type | host、net、port が利用可能です。 |
| dir | src(送信元)、dst(送信先)、src or dst、src and dst を指定します。 |
| proto | プロトコルをしています。 |
使用例
オプションなしで、tcpdumpコマンドを実行します。するとネットワークのトラフィックがダンプされます。かなり多いです。コマンドの終了は「Ctrlキー」を押しながら「Cキー」を押します。
# tcpdump tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 13:23:09.775749 IP example.com.60002 > example.jp.61968: Flag, length 192 13:23:09.776476 IP example.com.57687 > aa.bb.cc.dd.domain: 52004+ PTR? aa.bb.cc.dd.in-addr.arpa. (45) 13:23:09.776822 IP aa.bb.cc.dd.domain > example.jp.57687: 52004 1/2/2 PTR example.jp. (163) 13:23:09.777098 IP example.com.50227 > aa.bb.cc.dd.domain: 52180+ PTR? aa.bb.cc.dd.in-addr.arpa. (45) 13:23:09.777420 IP aa.bb.cc.dd.domain > example.jp.50227: 52180 NXDomain 0/1/0 (104) 13:23:09.793807 IP hoge.ne.jp.60574 > example.jp: Flags [.], ack 3194754837, win 16614, length 0 … 略 …
受信するパケットを指定してコマンドを実行します(オプション -c)。
# tcpdump -c 1 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 13:28:30.034248 IP aa.com.52972 > bb.com.http: Flags [P.], seq 145672862:145673134, ack 3287795824, win 64240, length 272 1 packets captured 5 packets received by filter 0 packets dropped by kernel
監視するインターフェース(オプション -i)、条件式でポート番号(port)を指定します。
# tcpdump -i eth0 port 22 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 23:10:50.112177 IP example.jp.ssh > hoge.com.62934: Flags [P.], seq 32718:72830, ack 3277, win 2641, options [nop,nop,TS val 109623997 ecr 553388297], length 112