概要
ネットワークインターフェースを流れるパケットを取得、表示、保存します。BPFフィルタを使って対象を絞り込めます。
基本構文
tcpdump [オプション] [フィルタ式]詳細解説
tcpdumpは、ネットワークパケットを取得、表示、保存するコマンドです。通信が出ているか、どの宛先へ行っているか、応答が返っているかといった事実を直接観測できるため、障害調査では非常に強力です。
使いこなしの鍵は、バークレーパケットフィルター(Berkeley Packet Filter)による絞り込みです。対象ホスト、ポート、プロトコルを絞ることで、必要な通信だけを見やすくできます。
一方で、取得データには機密情報が含まれることがあり、保存先や共有方法には十分な注意が必要です。
このコマンドを使う場面
通信の有無確認、DNSやHTTPの観測、応答欠落の切り分け、証跡保存に使います。
まず安全に試す方法
1. sudo tcpdump -i lo -c 10
2. sudo tcpdump -i any -nn port 53 -c 10
3. sudo tcpdump -i eth0 -w cap.pcap
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
port 53で絞り、名前解決時の通信を観察します。
-
-cを付けて無限取得を避ける習慣を付けます。
資格試験との関連
-
LinuC レベル2
範囲: 実務的なネットワーク診断根拠: editorialtcpdumpはLinuCレベル2相当の実務的な理解を深めるのに役立ちます。
-
LPIC-2
範囲: 実務的なネットワーク診断根拠: editorialtcpdumpはLPIC-2相当の構築、運用、障害対応の理解に役立ちます。
-
共通基礎
範囲: Linuxコマンド基礎根拠: editorial試験横断で、tcpdumpはLinux運用の基礎体力を支える重要コマンドです。
実行結果サンプル
-
sudo tcpdump -i any -nn port 53 -c 5IP 192.0.2.10.12345 > 8.8.8.8.53: ...
戻り値コード
- 0 正常終了。取得や読込に成功しました。
- >0 権限不足、インターフェース不存在、フィルタ不正などです。
使用例
tcpdump -i eth0 -nn port 53tcpdump -i any -c 20tcpdump -i eth0 -w capture.pcaptcpdump -r capture.pcap
よくあるエラー
-
出力が多すぎて読めない 原因: 絞り込みが不足しています。対処: host、port、protoなどでBPFフィルタを追加します。
-
取得データをそのまま共有してしまう 原因: 機密情報への配慮が不足しています。対処: 必要最小限だけ取得し、共有前に内容と保護方法を確認します。
導入・互換性情報
権限要件やインターフェース名は環境差があります。保存形式はpcap系が一般的です。
注意点 / セキュリティリスク
危険度は高いです。取得内容には機密情報が含まれることがあり、無制限取得は容量圧迫も招きます。
FAQ
-
Q. Wiresharkがないと読めませんか。 A. 簡易確認ならtcpdumpの文字出力だけでも十分役立ちます。
-
Q. まず何を絞るべきですか。 A. 対象インターフェース、ホスト、ポート、件数を先に絞ると読みやすくなります。
関連用語
参照リンク
- カテゴリー: Networking
- レベル: Advanced
- 対応試験: LinuC, LinuC レベル2, LPIC, LPIC-2, 共通基礎