【发布时间】:2011-12-20 09:03:32
【问题描述】:
我有一个设计和工作的应用程序在端口上接收 UDP 广播。该应用程序一直运行良好,但我想将应用程序接收到的数据包与 Wireshark 捕获进行比较。我正在努力确保以最小的数据丢失捕获尽可能多的数据包。
我最初以为我会运行 Wireshark 并将捕获的原始数据包与我们应用程序中显示的数据包进行比较。但是,当我运行 Wireshark 时,永远不会在该端口的 IP 层捕获数据包。我看到来自服务器的其他流量,但我从未看到此特定端口的 Wireshare 数据包。
应用程序继续捕获数据就好了。当我查看 IP src/dest 字段时,src 看起来是正确的,10.12.10.42,但是目标 IP 地址是 0.0.0.0。我本来希望用 255.255.255.255 代替目标地址。
我无权访问正在广播数据的应用程序,但我确实编写了一个快速示例 UDP 广播器和接收器,以确保我的期望是正确的。示例应用程序按预期工作。
关于为什么 UDP 广播会被应用程序接收,但不会出现在 Wireshark 捕获中的任何想法? Wireshark 会忽略像 0.0.0.0 这样的地址而不捕获它吗?
【问题讨论】:
-
这个问题与 Delphi 和 Indy 有什么关系?另外,请考虑超级用户/服务器故障。
-
它与 Delphi 相关,因为捕获 UDP 数据的应用程序正在使用 Indy10 控件。这个 Indy10 控件可以捕获数据并正常工作,而我无法使用 Wireshark 捕获任何内容。
标签: delphi udp wireshark indy10