tcpdump

提供: セキュリティ
移動: 案内検索
スポンサーリンク

tcpdump は、ネットワークトラフィックをダンプするツールです。

読み方 てぃーしーぴーだんぷ

概要

tcpdump は、ネットワークトラフィックをダンプするツールです。 http://www.tcpdump.org/

% tcpdump -h
tcpdump version 4.1.1
libpcap version 1.1.1
Usage: tcpdump [-aAbdDefIKlLnNOpqRStuUvxX] [ -B size ] [ -c count ]
                [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
                [ -i interface ] [ -M secret ] [ -r file ]
                [ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ]
                [ -y datalinktype ] [ -z command ] [ -Z user ]
                [ expression ]

tcpdump でダンプしたデータを Wireshark で読み込むと読みやすいかもしれません。

使い方

オプション

ここでは、いくつかのオプションを紹介します。 FreeBSDtcpdump コマンドのオプションです。

-i

インターフェースを指定します。

-s 長さ

-x や -X オプションを使うときに、使います。 デフォルトでは、 65535 に設定されています。 パケットの中身を表示するときの長さです。

-n

ホストアドレス、ポート番号などを逆引きせずに数値のまま表示します。

-w ファイル名

tcpdump のパケットキャプチャした情報を「ファイル名」に書き込みます。

-r ファイル名

-w オプションを使って tcpdump のパケットキャプチャしたファイルを tcpdump コマンドに読み込ませるときに、-r オプションを使います。 stdin から読み込む場合には、 - を指定します。

-x

パケットの中身を16進で表示します。

-xx

-x に加えて、リンクレベルヘッダも含めて表示します。

-X

それぞれのパケットのデータを16進とASCIIで表示します。

-XX

-X に加えて、リンクレベルヘッダも含めて表示します。

はじめに

最初に監視するインターフェース(ネットワークアダプタ)を選択します。

UnixOS であれば、 ifconfig で調べて下さい。

% ifconfig -l
em0 plip0 lo0 tun0

ここでは、インターフェースを em0 と仮定して書きます。


tcp のパケットを監視する例です。

% sudo tcpdump -i em0 tcp

実行例は、このとおりです。

% sudo tcpdump -i em0 tcp
パスワード:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on em0, link-type EN10MB (Ethernet), capture size 65535 bytes
01:23:46.924574 IP bsd2.local.ssh > 192.168.0.2.52975: Flags [P.], seq 2108026599:2108
026827, ack 494811042, win 1026, length 228
01:23:46.927061 IP 192.168.0.2.52975 > bsd2.local.ssh: Flags [.], ack 228, win 16425,
length 0

ポート80番を監視します。

sudo tcpdump -i em0 port 80

送信元アドレスが 192.168.0.123 のパケットを監視します。

sudo tcpdump -i em0 src host 192.168.0.123

アドレス 192.168.0.123 のポート80/TCP のパケットを監視します。

sudo tcpdump -i em0 tcp port 80 and src host 192.168.0.123

送信先アドレス 192.168.0.123 のポート80/TCP のパケットを監視します。

sudo tcpdump -i em0 tcp port 80 and dst host 192.168.0.202

ファイル tcp_port_80.pcap にダンプする。

sudo tcpdump -i em0 -w tcp_port_80.pcap tcp port 80 and dst host 192.168.0.202

ダンプしたファイルを tcpdump コマンドで読み込み、中身を確認できます。

tcpdump -r tcp_port_80.pcap
tcpdump -r tcp_port_80.pcap -x -s 1600

パケットの中身をASCII表示してみる例です。

tcpdump -r tcp_port_80.pcap -XX -s 1600

関連項目




スポンサーリンク