目标不可达 ICMP 数据包(ICMP 有效负载 UDP)的用法是什么?

网络工程 联网 线鲨 icmp
2022-02-19 14:54:41

在我的 Mac(192.168.2.228) 中,它会将 ICMP 数据包发送到我家的路由器 (192.168.2.1)。与信息Destination unreachable (Port unreachable) 在此处输入图像描述

在 Wireshark 数据包详细信息面板中,显示数据包结构:

eth:ehtertype:ip:icmp:ip:udp

在此处输入图像描述

和更多细节:

有效载荷是IP:UDP(从路由器到mac),你看到路由器端口是53,它与DNS有关。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在我的 macOS 中,没有应用程序监听端口:

$ netstat -an | grep 55166一无所获。


使用数据包的协议是什么?数据包的含义是什么?

2个回答

ICMP 用于通知网络层 (IP) 或传输层(TCP、UDP、...)错误。

在这种情况下,ICMP 发送方192.168.2.228通知初始发送方192.168.2.1无法到达传输层端口。ICMP 有效负载包含部分问题数据包以及网络和传输层标头。在您的情况下,这似乎是 DNS 回复。

请注意,主机配置和问题在这里是题外话,因此我们无法深入了解拒绝的实际原因。

您显示的数据包是通过 ICMP 发送的消息。

该消息意味着从路由器的 DNS 响应到您的 mac 无法访问。

192.168.2.1:53 -> 192.168.2.228:55166

您可以检查 macOS 上的防火墙,或使用 Wireshark 捕获 while 进程。

在 Capture 过滤器中设置过滤器:

(udp) and (host 192.168.2.1) and (port 53)