tcpdumpを使用してパケットの内容をキャプチャして表示する方法

tcpdumpを使用してパケットの内容をキャプチャして表示する方法

HTTPトラフィックをファイルのポート8007に送信してから、後で表示しようとします。

# tcpdump -i eth0 -s0 -n -w /tmp/capture port 8007 &
# tcpdump -r /tmp/capture -A | grep '10.2.1.50'

私はパケットデータをASCII形式で見ることを期待しましたが、そうではありません。私が得るのはこれです:

23:03:16.819935 IP 10.2.1.50.8007 > 10.2.1.120.57469: . ack 1369 win 272 <nop,nop,timestamp 188139705 215355175>
23:03:16.819943 IP 10.2.1.120.57469 > 10.2.1.50.8007: P 1369:1592(223) ack 1 win 12 <nop,nop,timestamp 215355175 188139703>
23:03:16.819947 IP 10.2.1.50.8007 > 10.2.1.120.57469: . ack 1592 win 272 <nop,nop,timestamp 188139705 215355175>
23:03:17.029587 IP 10.2.1.50.8007 > 10.2.1.120.57469: P 1:780(779) ack 1592 win 272 <nop,nop,timestamp 188139758 215355175>
23:03:17.029736 IP 10.2.1.50.8007 > 10.2.1.153.49989: F 822:822(0) ack 3494 win 272 <nop,nop,timestamp 188139758 1641992210>
23:03:17.040759 IP 10.2.1.120.57469 > 10.2.1.50.8007: . ack 780 win 15 <nop,nop,timestamp 215355396 188139758>
23:03:17.079305 IP 10.2.1.153.49989 > 10.2.1.50.8007: . ack 823 win 15 <nop,nop,timestamp 1642053303 188139758>

実際の内容を表示するには、書き込みまたは読み取りをどのように変更する必要がありますか? -vなどの他のオプションを試しましたが、コンテンツでは機能しません。 SLES 11 SP2を使用しています。これはtcpdump正しいツールですか?

ありがとうございます。

- 編集する

# tcpdump --version
tcpdump version 3.9.8
libpcap version 0.9-PRE-CVS

-Xオプションも試してみましたが、まだペイロードデータを見ることはできません。

ベストアンサー1

出力はgrepにパイプされるため、ヘッダーのみが表示され、パケットの内容は表示されません。したがって、IPアドレスを持つ行のみを取得します。

-Aオプションはtcpdumpパケットの内容も提供します。

おすすめ記事