为什么 Wireshark 检测不到 DNS 数据包?

Why is the Wireshark not detecting DNS packet?

我正在 JAVA 中模拟一个简单的 DNS 服务器(使用 UDP)。我已经完成 DNS 请求解析并将响应发送回客户端。我在 shell 中使用 DIG 命令进行测试。我这里有这个问题:

在 wireshark 中,当我开始监视 Loopback 上的数据包时,它会将 DNS 请求和响应数据包检测为格式错误的 ENIP 数据包。我是初学者,请指导如何解决此问题。 提前致谢。

Why is the Wireshark not detecting DNS packet?

因为您没有使用标准的 DNS 端口,Wireshark 只能通过端口号识别 DNS​​。您必须使用 "Analyze" 菜单中的 "Decode As..." 菜单项来告诉它将端口 2222 流量解码为 DNS。您还需要禁用 ENIP 解析器,因为它会解析进出端口 2222 的流量。