No.143ネットワーク

tcpdump

ティーシーピーダンプ・パケット取得

知識レベル 応用注意sudo が要る別名 TCP

ネットワークインターフェースを流れるパケットを取得、表示、保存します。BPFフィルタを使って対象を絞り込めます。

答えよく使う形

  1. DNS通信だけに絞ると理解しやすくなります
  2. 取得対象インターフェースを指定します
  3. 名前解決を行わず数値表示します

注意危険度は高いです。

visitor@goodly: ~

$ sudo tcpdump -i any -nn port 53 -c 5

IP 192.0.2.10.12345 > 8.8.8.8.53: ...

$ tcpdump -i eth0 -nn port 53

$ tcpdump -i any -c 20

どんなコマンド?

こんなときに

通信の有無確認、DNSやHTTPの観測、応答欠落の切り分け、証跡保存に使います。

tcpdumpは、ネットワークパケットを取得、表示、保存するコマンドです。通信が出ているか、どの宛先へ行っているか、応答が返っているかといった事実を直接観測できるため、障害調査では非常に強力です。

使いこなしの鍵は、バークレーパケットフィルター(Berkeley Packet Filter)による絞り込みです。対象ホスト、ポート、プロトコルを絞ることで、必要な通信だけを見やすくできます。

一方で、取得データには機密情報が含まれることがあり、保存先や共有方法には十分な注意が必要です。

書き方とオプション

組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。

$ tcpdump

使用例と実行結果

行を押すとコピーできます。

IP 192.0.2.10.12345 > 8.8.8.8.53: ...
DNS通信だけに絞ると理解しやすくなります。

まず安全に試す

3分ミッション

手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。

0 / 2

つまずいたとき

出力が多すぎて読めない

原因絞り込みが不足しています。

こうするhost、port、protoなどでBPFフィルタを追加します。

取得データをそのまま共有してしまう

原因機密情報への配慮が不足しています。

こうする必要最小限だけ取得し、共有前に内容と保護方法を確認します。

終わったときの数(戻り値)

$ echo $?

  • 0正常終了。取得や読込に成功しました。
  • >0権限不足、インターフェース不存在、フィルタ不正などです。

気をつけることと入れ方

気をつけること

危険度は高いです。取得内容には機密情報が含まれることがあり、無制限取得は容量圧迫も招きます。

環境による違い

権限要件やインターフェース名は環境差があります。保存形式はpcap系が一般的です。

確かめた環境2026-04-09 に確認

よくある質問

Wiresharkがないと読めませんか。

簡易確認ならtcpdumpの文字出力だけでも十分役立ちます。

まず何を絞るべきですか。

対象インターフェース、ホスト、ポート、件数を先に絞ると読みやすくなります。

資格試験では

  • LinuC レベル2大事実務的なネットワーク診断
  • LPIC-2大事実務的なネットワーク診断
  • 共通基礎大事Linuxコマンド基礎

tcpdump を最後まで読みました。

Linux コマンド辞典に戻る116 / 144

Goodly のメニュー