我有一些千兆以太网视觉摄像头,它们使用以太网进行通信。协议是简单的 UDP,但出于性能原因(高数据包吞吐量导致 CPU 负载),制造商使用过滤驱动程序来阻止在使用 WinPCap/Wireshark 捕获时显示这些数据包。
摄像机附带的软件需要过滤驱动程序才能工作(没有简单的 UDP-Socket 回退),我想分析它的流量。我想避免使用额外硬件进行捕获,并且更喜欢纯软件解决方案。
问题:有没有办法对 WinPCap 进行优先排序,以便它在过滤驱动程序之前处理数据包?
系统信息:
- 操作系统:Windows 10(64位)
- 软件:Wireshark 2.4.4[-0-g90a7ve11a4]
- 捕获驱动程序:WinPCap v4.1.3(packet.dll 版本 4.1.0.2980)
- RealTek:USB-GbE-Adapter(驱动程序版本 10.7.218.2016)
适配器配置的屏幕截图(德语,抱歉):
这是我的网络接口设置的屏幕截图(标记的驱动程序“Teledyne DALSA Sapera GigE Vision Filter Driver”是相关的)。
答案1
如果摄像机连接到集线器,您可以将笔记本电脑插入集线器并以混杂模式进行捕获。
如果摄像机连接到交换机,您可以配置镜像端口(将摄像机插入的端口镜像到您插入执行 wireshark 捕获的机器的端口)。
如果将摄像机直接插入运行 Wireshark 的计算机,请确保 TCP Chiminey 已关闭。
这里有一些链接似乎与尝试解决这个确切问题有关。
https://www.wireshark.org/docs/dfref/g/gvsp.html
https://wiki.wireshark.org/CaptureSetup/Offloading#TCP_Chimney
如果您提供有关摄像机的更多信息(即摄像机型号是什么?)和网络拓扑(例如摄像机是否连接到运行 Wireshark 的计算机、集线器或交换机?),也会很有帮助。
编辑:您实际上要求的是手动更改 Winsock 目录条目(分层服务提供商)的顺序。通过运行,netsh winsock set /?
您可以看到直接配置 Winsock 的选项是什么。从我看到的一切来看,您没有办法更改 LSP 的顺序。
https://msdn.microsoft.com/en-us/library/windows/desktop/gg581810(v=vs.85).aspx
https://blog.malwarebytes.com/cybercrime/2014/10/changes-in-the-lsp-stack/