首页/网络/抓包与流量分析速查/tcpdump 抓 ICMP 与类型过滤

tcpdump 抓 ICMP 与类型过滤

过滤 ICMP 报文并可按类型/代码细分:icmp[0]=8 是 Echo 请求(ping),0 是应答;抓"需要分片"(type 3 code 4)对 MTU 排查很关键。

用途过滤 ICMP 并筛选类型
语法icmp / icmp[icmptype] = icmp-echo / icmp[0]=3 and icmp[1]=4

常用示例

常用示例
tcpdump -i eth0 -nn icmp
tcpdump -i eth0 -nn 'icmp[icmptype] = icmp-echo'
tcpdump -i eth0 -nn 'icmp[0] = 3 and icmp[1] = 4'   # 目的不可达/需分片
tcpdump -i eth0 -nn 'icmp6 and ip6[40] = 128'       # ICMPv6 Echo Request
ICMP 类型编号:0 Echo Reply、3 目的不可达、8 Echo Request、11 超时;第 2 字节为代码。

易错点

  • ICMP 被中间设备限速或屏蔽时,ping 不通不代表目标或路径故障,需结合 TCP 探测判断
  • ICMPv6 是 IPv6 必需组件,屏蔽会导致邻居发现与地址配置异常,排查 IPv6 时别一刀切过滤

数据来源与参考

  • man 8 pcap-filter
  • RFC 792(ICMP)
  • RFC 4443(ICMPv6)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌