在启动 Wireshark 之前,WinPcap 不会收集任何数据包
WinPcap doesn't collect any packets until Wireshark is started
我正在尝试收集以太网上的 2 级数据包。该网络上唯一发生的事情是设备正在吐出 ieee1722/AVB 帧。
我已经安装了 WinPcap,并从 most basic example 开始。每次调用 pcap_next_ex
都是 returning 0,表示没有收到任何数据包。我打开 Wireshark,并开始监视该接口——然后,我的程序开始接收数据包。
我已经在两个接口上试过了,内置的英特尔 I218-LM 和一个便宜的以太网到 USB 加密狗。连接到 AVB 网络的两个接口都没有 return 帧,直到我开始在该接口上的 Wireshark 中进行监视。两者都将在连接到该网络时显示随机办公室以太网流量,而无需 Wireshark 的帮助。
我还尝试在 pcap_open
之后调用 pcap_set_datalink
以将 link 类型设置为 DLT_EN10MB
(无变化)和 DLT_RAW
(函数returns 错误)。 None 其他类型似乎与我相关。
当然,Wireshark 使用 WinPcap 本身,但我无法弄清楚 Wireshark 正在做什么才能使这项工作正常进行。这是怎么回事?
更新:我注意到当我的应用程序退出时,它也停止了 Wireshark 上的捕获。我可以同时激活两者,但我的应用程序需要先开始捕获。我发现 Wireshark 在调用 pcap_finalldevs_ex
或 pcap_open_live
后停止捕获。我找不到 Wireshark 的初始化方式与我有什么不同,尽管由于所有条件 enable/disable 块,他们的代码有点难以理解。
事实证明,我安装了用于 Windows 的非常旧版本的 Nmap,其中包括可以用来代替 winpcap 的 npcap。我卸载了 npcap,重新启动,现在我的应用程序运行正常。
我正在尝试收集以太网上的 2 级数据包。该网络上唯一发生的事情是设备正在吐出 ieee1722/AVB 帧。
我已经安装了 WinPcap,并从 most basic example 开始。每次调用 pcap_next_ex
都是 returning 0,表示没有收到任何数据包。我打开 Wireshark,并开始监视该接口——然后,我的程序开始接收数据包。
我已经在两个接口上试过了,内置的英特尔 I218-LM 和一个便宜的以太网到 USB 加密狗。连接到 AVB 网络的两个接口都没有 return 帧,直到我开始在该接口上的 Wireshark 中进行监视。两者都将在连接到该网络时显示随机办公室以太网流量,而无需 Wireshark 的帮助。
我还尝试在 pcap_open
之后调用 pcap_set_datalink
以将 link 类型设置为 DLT_EN10MB
(无变化)和 DLT_RAW
(函数returns 错误)。 None 其他类型似乎与我相关。
当然,Wireshark 使用 WinPcap 本身,但我无法弄清楚 Wireshark 正在做什么才能使这项工作正常进行。这是怎么回事?
更新:我注意到当我的应用程序退出时,它也停止了 Wireshark 上的捕获。我可以同时激活两者,但我的应用程序需要先开始捕获。我发现 Wireshark 在调用 pcap_finalldevs_ex
或 pcap_open_live
后停止捕获。我找不到 Wireshark 的初始化方式与我有什么不同,尽管由于所有条件 enable/disable 块,他们的代码有点难以理解。
事实证明,我安装了用于 Windows 的非常旧版本的 Nmap,其中包括可以用来代替 winpcap 的 npcap。我卸载了 npcap,重新启动,现在我的应用程序运行正常。