InfraLab
TCPDUMP59 cmd

tcpdumpチート集

基本キャプチャ・ホスト/ポート/プロトコルフィルタ・出力制御・BPF・高度な利用法。

更新日
2026-05-29
参照範囲
公式ドキュメント / man page / 主要ベンダーCLI
対象実装
主要 Linux / BSD / ネットワーク機器 CLI の一般的な実装
免責
OS とバージョン差分は実環境で確認してください。

このチートシートの使いどころ

tcpdump チートシートは、インターフェース指定、BPF フィルタ、ホスト/ポート/プロトコル絞り込み、パケット保存(pcap)と読み込み、表示オプションを日本語で整理した一覧です。対象は一般的な libpcap / tcpdump です。疎通不可やパケットロスの切り分け、特定通信の抽出、pcap 保存による事後解析の初動に使います。

59 / 59

tcpdump

デフォルトインターフェースでキャプチャ開始

Example
sudo tcpdump
tcpdump -i {iface}

指定インターフェースでキャプチャ

Example
sudo tcpdump -i eth0
tcpdump -i any

全インターフェースでキャプチャ

Example
sudo tcpdump -i any
tcpdump -c {n}

指定パケット数をキャプチャして終了

Example
sudo tcpdump -c 100
tcpdump -D

利用可能なインターフェース一覧を表示

Example
sudo tcpdump -D
tcpdump -s {size}

スナップショット長を設定(バイト)

Example
sudo tcpdump -s 0
tcpdump -s 0

パケット全体をキャプチャ

Example
sudo tcpdump -s 0
tcpdump -q

簡易出力モード

Example
sudo tcpdump -q
tcpdump -e

リンク層ヘッダも表示

Example
sudo tcpdump -e
tcpdump host {ip}

特定ホストのトラフィックをキャプチャ

Example
sudo tcpdump host 192.168.1.1
tcpdump src host {ip}

送信元ホストでフィルタ

Example
sudo tcpdump src host 10.0.0.1
tcpdump dst host {ip}

宛先ホストでフィルタ

Example
sudo tcpdump dst host 10.0.0.2
tcpdump net {cidr}

ネットワーク範囲でフィルタ

Example
sudo tcpdump net 192.168.1.0/24
tcpdump src net {cidr}

送信元ネットワーク範囲でフィルタ

Example
sudo tcpdump src net 10.0.0.0/8
tcpdump dst net {cidr}

宛先ネットワーク範囲でフィルタ

Example
sudo tcpdump dst net 172.16.0.0/12
tcpdump host A and host B

2ホスト間のトラフィック

Example
sudo tcpdump host 10.0.0.1 and host 10.0.0.2
tcpdump not host {ip}

特定ホストを除外

Example
sudo tcpdump not host 192.168.1.1
tcpdump port {n}

特定ポートのトラフィックをキャプチャ

Example
sudo tcpdump port 80
tcpdump src port {n}

送信元ポートでフィルタ

Example
sudo tcpdump src port 443
tcpdump dst port {n}

宛先ポートでフィルタ

Example
sudo tcpdump dst port 3306
tcpdump portrange {a}-{b}

ポート範囲でフィルタ

Example
sudo tcpdump portrange 8000-9000
tcpdump port 80 or port 443

複数ポートでフィルタ(OR条件)

Example
sudo tcpdump port 80 or port 443
tcpdump not port 22

特定ポートを除外

Example
sudo tcpdump not port 22
tcpdump host {ip} and port {n}

ホストとポートの複合フィルタ

Example
sudo tcpdump host 10.0.0.1 and port 80
tcpdump tcp

TCPパケットのみキャプチャ

Example
sudo tcpdump tcp
tcpdump udp

UDPパケットのみキャプチャ

Example
sudo tcpdump udp
tcpdump icmp

ICMPパケットのみキャプチャ

Example
sudo tcpdump icmp
tcpdump arp

ARPパケットのみキャプチャ

Example
sudo tcpdump arp
tcpdump ip6

IPv6パケットのみキャプチャ

Example
sudo tcpdump ip6
tcpdump vlan

VLANタグ付きパケットをキャプチャ

Example
sudo tcpdump vlan
tcpdump 'tcp[tcpflags] & tcp-syn != 0'

SYNフラグ付きTCPパケット

Example
sudo tcpdump 'tcp[tcpflags] & tcp-syn != 0'
tcpdump 'tcp[tcpflags] & tcp-rst != 0'

RSTフラグ付きTCPパケット

Example
sudo tcpdump 'tcp[tcpflags] & tcp-rst != 0'
tcpdump -w {file}

キャプチャをpcapファイルに保存

Example
sudo tcpdump -w capture.pcap
tcpdump -r {file}

pcapファイルを読み込み

Example
tcpdump -r capture.pcap
tcpdump -n

名前解決しない(IPアドレスで表示)

Example
sudo tcpdump -n
tcpdump -nn

ホスト名・ポート名を解決しない

Example
sudo tcpdump -nn
tcpdump -t

タイムスタンプを表示しない

Example
sudo tcpdump -t
tcpdump -tt

Unix時間でタイムスタンプ表示

Example
sudo tcpdump -tt
tcpdump -ttt

パケット間の経過時間を表示

Example
sudo tcpdump -ttt
tcpdump -v

詳細出力

Example
sudo tcpdump -v
tcpdump -vv

より詳細な出力

Example
sudo tcpdump -vv
tcpdump -X

HEXとASCIIでパケット内容を表示

Example
sudo tcpdump -X
tcpdump -A

ASCIIでパケット内容を表示

Example
sudo tcpdump -A
tcpdump -C {size}

ファイルサイズ制限(MB)でローテーション

Example
sudo tcpdump -w out.pcap -C 100
tcpdump -W {count}

ローテーションファイル数を制限

Example
sudo tcpdump -w out.pcap -C 100 -W 10
tcpdump -G {sec}

指定秒数ごとにファイルをローテーション

Example
sudo tcpdump -w out_%H%M.pcap -G 3600
tcpdump -Z {user}

指定ユーザー権限でキャプチャ

Example
sudo tcpdump -Z tcpdump
tcpdump -l

行バッファリングモード(パイプ用)

Example
sudo tcpdump -l | tee output.txt
tcpdump -K

チェックサム検証をスキップ

Example
sudo tcpdump -K
tcpdump -S

絶対TCPシーケンス番号を表示

Example
sudo tcpdump -S
and / &&

論理AND条件

Example
sudo tcpdump tcp and port 80
or / ||

論理OR条件

Example
sudo tcpdump port 80 or port 443
not / !

論理NOT条件

Example
sudo tcpdump not arp
greater {n}

指定バイト以上のパケット

Example
sudo tcpdump greater 1000
less {n}

指定バイト以下のパケット

Example
sudo tcpdump less 100
tcp[13] == 2

SYNパケットのみ(TCPフラグ指定)

Example
sudo tcpdump 'tcp[13] == 2'
tcp[13] == 18

SYN-ACKパケットのみ

Example
sudo tcpdump 'tcp[13] == 18'
tcp[13] & 4 != 0

RSTフラグを含むパケット

Example
sudo tcpdump 'tcp[13] & 4 != 0'
ip[6:2] & 0x1fff != 0

フラグメント化されたパケット

Example
sudo tcpdump 'ip[6:2] & 0x1fff != 0'
対応ツール
Related