tcpdump

基本语法(Synopsis)

tcpdump [OPTIONS] [FILTER]

tcpdump 抓取并过滤网络数据包,用于确认流量是否到达、从哪个接口经过以及双方是否交换了预期报文。

sudo tcpdump -ni any -c 20                         # 任意接口,抓 20 个包
sudo tcpdump -ni eth0 host 192.0.2.10              # 指定接口和主机
sudo tcpdump -ni any tcp port 443                  # TCP 443
sudo tcpdump -ni any 'host 192.0.2.10 and port 53' # 组合过滤
sudo tcpdump -ni any -w capture.pcap port 443      # 保存供 Wireshark 分析
tcpdump -nn -r capture.pcap                        # 读取已有抓包

常用选项与过滤

语法元素含义
-i INTERFACE指定接口;any 监听全部可用接口。
-n / -nn不解析主机名 / 同时不解析端口服务名。
-c COUNT抓到指定数量后退出。
-w FILE写入 pcap 文件,不在终端解码。
-r FILE读取 pcap 文件。
host / src / dst按主机或方向过滤。
port / portrange按端口或端口范围过滤。
tcp / udp / icmp按协议过滤。

Danger

抓包可能包含认证信息、Cookie、内部地址和业务内容。只抓必要接口、主机、端口和数量;不要把 pcap 提交到仓库或随意分享。

官方资料