【问题标题】:UDP Packet not captured by Wireshark, but is captured by UDP applicationUDP 数据包未被 Wireshark 捕获,但被 UDP 应用程序捕获
【发布时间】: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


【解决方案1】:

Wireshark 仅捕获通过您正在侦听的接口的以太网帧。因此,不会捕获发往环回地址的数据包。我会检查你机器的路由表,看看数据包的实际去向。

【讨论】:

  • Wireshark 确实支持监控环回适配器。
  • 来自 Wireshark wiki:您无法使用 WinPcap 等 Windows 数据包捕获驱动程序在本地环回地址 127.0.0.1 上捕获。
  • 没错,您不能从127.0.0.1 本身捕获,但您可以从 Microsoft 的环回适配器捕获。我以前做过,它有效,并且在您引用的同一 Wireshark wiki 页面上提到了它 (wiki.wireshark.org/CaptureSetup/Loopback)。我还使用了route 技术(因为我有一个可用的 LAN 路由器),在同一页上也提到过,它也可以工作。
猜你喜欢
  • 2014-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多