首页/网络/BGP 与广域网速查/抓包定位 IKE:UDP 500/4500 分析
IPsec VPN60 条

抓包定位 IKE:UDP 500/4500 分析

IKE 协商全程可抓:V1 主模式 6 报文、快速模式 3 报文;V2 为 IKE_SA_INIT 与 IKE_AUTH 两轮。看不到响应多为中间阻断,看到 Notify 则是参数问题。

BGP 与广域网速查网络更新于 2026-10-13

抓包看 IKE 协商

IPsec 协商全程都能抓:IKEv1 主模式是 6 个报文(前 3 个互换提案与密钥材料,后 3 个完成认证),随后快速模式 3 个报文建 SA;IKEv2 简化为 IKE_SA_INIT 与 IKE_AUTH 两轮。看不到对端响应,通常说明中间设备阻断或路由不可达;能看到响应但协商失败,则多半是参数或身份问题,抓包里会带出对应的 Notify 原因。

基本信息

抓包命令tcpdump -ni eth0 'udp port 500 or udp port 4500'
显示过滤Wireshark:isakmp(IKEv1)或 ikev2(IKEv2)
常见 NotifyNO_PROPOSAL_CHOSEN、AUTHENTICATION_FAILED、INVALID_KE_PAYLOAD、TS_UNACCEPTABLE
抓包位置设备两侧同抓,NAT 外侧看到的端口可能已变为 4500
耗时提示生产设备上的 debug 命令开销较大,优先用抓包替代

典型使用场景

  • 协商起不来:判断是没回应(阻断/不可达)还是参数被拒(Notify 明确)
  • 第三方对接:交换抓包文件作为共同证据,快速定位分歧点
  • 穿越 NAT 验证:确认实际使用的是 500 还是 4500
  • 改造前后对比:保存协商成功时的抓包作为基线
  • 责任界定:区分网络层阻断与参数配置问题,避免来回推诿

抓包与分析

抓包与分析
# 在线观察关键字段
 tcpdump -ni eth0 -vv -s0 'udp port 500 or udp port 4500' -c 40
# 落盘保存后用 Wireshark 打开分析
 tcpdump -ni eth0 -w /tmp/ike.pcap 'udp port 500 or udp port 4500'
# 用 tshark 过滤出 IKE 报文
tshark -r /tmp/ike.pcap -Y 'isakmp || ikev2'
# 只看某个对端的协商过程
tshark -r /tmp/ike.pcap -Y 'isakmp || ikev2' -z conv,udp

抓包现象对照

现象含义下一步
只有本端发出,无任何响应中间阻断或路由不可达逐跳核对路径与安全策略放行情况
NO_PROPOSAL_CHOSEN两端提案无交集比对加密、哈希、DH 组与认证方式
AUTHENTICATION_FAILED身份或密钥不匹配核对预共享密钥与身份匹配条件
出现 4500 端口路径中存在 NAT,已启用 NAT-T确认防火墙同时放行 500 与 4500
两端同时抓包最省时间:请求发出但没有响应时,只有对比两侧抓包才能判断报文是被中间设备丢了,还是对端收到了却没有回应。
抓包文件要连时间戳一起保留,并和设备日志对齐:不少「偶发不通」在时间上恰好与链路抖动、中间设备会话老化吻合,对齐时间线后结论会清晰很多。

易错点

  • 只在一侧抓包:无法区分对端未收到与对端收到未回应,结论容易失真
  • 在错误位置抓包:NAT 设备外侧看到的是封装后的端口,与协商前的现象不同
  • 生产设备上长时间开 debug:开销大可能影响转发,优先用抓包工具取证
  • 抓包不落盘:在线刷屏的报文来不及看清关键 Notify 字段,事后无法复查

数据来源与参考

  • RFC 7296: IKEv2 报文
  • Wireshark 显示过滤器参考
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌