首页/网络/抓包与流量分析速查/tcpdump -i 指定抓包接口

tcpdump -i 指定抓包接口

用 -i 指定从哪块网卡或伪接口抓包:物理网卡、lo、any(全部接口)、docker0 与 veth 都可用;接口选错是抓不到包的首要原因。

用途指定抓包接口
语法tcpdump -i <接口名|any|lo>
查接口tcpdump -D 或 ip link

常用示例

常用示例
tcpdump -D                       # 列出可用接口
 tcpdump -i eth0 -c 5
 tcpdump -i any -c 5 icmp
 tcpdump -i lo port 8080
any 接口在 Linux 上使用 SLL 伪链路层,抓出的 pcap 里看不到以太网头;要分析 MAC/VLAN 请用具体物理接口。

易错点

  • 容器的流量走 veth 与 docker0,在宿主机抓 eth0 抓不到,应看 ip link 找到对应 veth 或直接在容器里抓
  • 抓本机进程间回环流量必须抓 lo,抓物理网卡不会有回环包

数据来源与参考

  • man 8 tcpdump(-i 选项)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌