Linuxでtcpdumpを使用して、パケットの内容を出力するにはどうすればいいですか?
Linuxでは、ネットワークパケットをキャプチャしてパケットの内容を表示するために、tcpdumpコマンドを使用することができます。デフォルトでは、tcpdumpはパケットのヘッダ情報のみを印字しますが、パケットの完全な内容を印字したい場合は、次のコマンドを使用することができます。
オプションを付けてtcpdumpを使用する
“Aオプションは、メッセージのASCII内容を印刷するために使用されます。他のオプションを使用して出力をフィルタリングや制限することもできます。”
- 指定されたネットワークインターフェース
- ホスト:指定されたホスト
- ポート:特定のポート
- 指定されたソースIPアドレス
- 目標IPアドレスを指定してください。
例えば、すべてのソースまたはターゲットIPアドレスが192.168.0.1であるTCPパケットの内容をプリントアウトしたい場合は、以下のコマンドを使用できます:
tcpdump -A src 192.168.0.1またはdst 192.168.0.1のtcpおよびtcp[tcpflags] & (tcp-syn|tcp-fin) != 0
コマンドを実行すると、tcpdumpはマッチしたパケットの内容を継続的に出力し、時間順に表示します。tcpdumpの実行を停止するには、Ctrl+Cを押します。