首页/网络/协议速查/抓包分析 ICMP 表达式

抓包分析 ICMP 表达式

tcpdump 对 ICMP 支持按类型/代码精确过滤:定位不可达、超时、frag needed 的第一手证据。

协议速查网络更新于 2026-10-12

常用表达式

常用表达式
tcpdump -nn -v 'icmp' -c 20
tcpdump -nn 'icmp[0] == 3 and icmp[1] == 4' -c 5     # frag needed
tcpdump -nn 'icmp[0] == 3 and icmp[1] == 3'           # 端口不可达
tcpdump -nn 'icmp6 and ip6[40] == 2'                  # v6 包太大
tcpdump -nn 'icmp[0] == 8' | head                     # Echo 请求

字段偏移

字段偏移位置含义
icmp[0]类型3=不可达 11=超时
icmp[1]代码细分原因
icmp[4:2]校验和—
ip[6:2]v4 分片标志MF/DF 位
Wireshark 中直接看「Internet Control Message Protocol」的 Type/Code 字段更直观。

易错点

  • 抓 ICMP 时建议 -nn -v:不带 -v 看不到类型/代码细节,容易漏掉关键信息

数据来源与参考

  • pcap-filter(7) 手册
  • Wireshark 过滤器文档

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌