RackShareRackShareラックを、シェアしよう

tcpdumpの使い方|CLIでパケットを捕まえる

Tomo@自宅ラボ ・ 公開 2026-07-18 ・ 更新 2026-09-04 ・ 閲覧 40

サーバにはGUIがありません。CLIでパケットを捕まえる tcpdump は、障害調査で頼れる相棒です。基本の使い方をまとめます。

tcpdumpとは

コマンドラインで動くパケットキャプチャツールです。Linuxサーバ上で「実際に何が届いて、何が出ているか」を確認できます。GUIが使えないサーバでの切り分けに必須です。

基本の使い方

tcpdump -i eth0                  … eth0を流れる通信を表示
tcpdump -i eth0 -n               … 名前解決せずIPのまま表示(速い)
tcpdump -i eth0 -nn              … ポートも番号のまま

-n を付けると、逆引きで止まらず快適です。

フィルタで絞る

大量に流れるので、条件で絞ります。

tcpdump -i eth0 host 192.168.1.10        … 特定ホストとの通信
tcpdump -i eth0 port 443                  … 443番だけ
tcpdump -i eth0 src 10.0.0.5              … 送信元が特定IP
tcpdump -i eth0 tcp port 22 and host 10.0.0.5   … 組み合わせ

よく使う切り分けパターン

  • 「サーバにパケットが届いているか」を確認
tcpdump -i eth0 -nn host <相手IP> and port <ポート>

相手からのパケットが表示されれば、少なくともそこまでは届いています。何も出なければ、手前(経路やFW)で止まっている可能性が高い、と切り分けられます。

  • SYNだけ見て、接続の試みが来ているか確認
tcpdump -i eth0 -nn 'tcp[tcpflags] & tcp-syn != 0'

ファイルに保存してWiresharkで見る

CLIで捕まえて、後でGUIでじっくり分析、が定番です。

tcpdump -i eth0 -w capture.pcap host 10.0.0.5

-w でpcapファイルに保存し、それをWiresharkで開けば、詳細に解析できます。サーバで捕獲、手元で分析、という分業ができます。

注意点

  • 本番で全通信を捕ると負荷になる。フィルタで絞り、必要な分だけ。
  • 通信内容が含まれるので、取り扱いは慎重に。
  • root権限が必要なことが多い。

まとめ

tcpdumpは、CLIしかないサーバでパケットを確認できる強力なツールです。「サーバにパケットが届いているか」を確かめられるので、障害の切り分けが一段深くなります。まずは tcpdump -i eth0 -nn host <IP> で、狙った通信を絞って見るところから。捕まえて -w で保存し、Wiresharkで分析する合わせ技も覚えておくと便利です。

♥ 0(いいねはログイン後)

コメント 0 件

コメントするにはログインしてください。