在ping交换中无法访问的ICMP协议1端口xxx的确切含义


1

ping会话的tcpdump显示以下两行:

IP gateway.comp.com > somehost.comp.com: ICMP redirect 10.8.0.10 to host othergateway.comp.com, length 68
IP gateway.comp.com > somehost.comp.com: ICMP 10.8.0.10 protocol 1 port 21475 unreachable, length 68

我理解第一条消息。它只是告诉 somehost 不打扰主要 gateway 数据包到10.8.0.10,而是直接路由它们 othergateway

但第二个消息意味着什么呢。它来到17ms后似乎是相关的。什么是 protocol 1 port XXX 在这种背景下。到底是什么东西无法到达? ICMP(=协议1)没有端口,afaik,这是什么意思?

Answers:


0

这可能是 ICMP控制消息类型3(目的地不可达)代码3(端口不可达)

这意味着目标上没有与该TCP或UDP端口关联的服务器进程。

“UDP的一个规则是,如果它接收到UDP数据报并且目标端口与某个进程正在使用的端口不对应,则UDP将响应ICMP端口无法访问。” - 从 TCP / IP Illustrated,史蒂文斯

为何选择UDP?该 ping 传统上使用ICMP echo请求实现命令,但在某些平台上,某些工具可以使用其他协议。一个例子是 nmap -sU


嗯,不相信UDP理论。该 gateway 最终得到ICMP数据包形式 somehost。它不知道有人在使用 pingsomehost。它只知道数据包。为什么要从ICMP切换到UDP?但话又说回来:我只记录ICMP。所以也许无法访问实际上是指我没有记录的UDP数据包。
Harald
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.