USB-Ethernet适配器下捕获原始以太网数据包的替代方案

3

(抱歉:我卸载并重新安装了WinPcap,现在我可以看到额外的接口!建议在Wireshark FAQ中找到。 我将原始问题留在下面。)

我使用WireShark以字节级别检查以太网数据包内容(进出基于定制FPGA硬件)。 我有一个USB-Ethernet适配器,可以向我的笔记本电脑添加第二个以太网端口。 它是在Ebay上购买的便宜的中国设备,但现在我已经找到了适当的驱动程序,它可以正常工作。 但是,在Windows上,WinPcap / WireShark 不支持通过USB进行Ethernet捕获

虽然如果可以使WireShark在USB捕获上工作会很好,但我真的正在寻找一种抓取原始以太网字节的替代方法。我设置了一些perl脚本,可以对来自tshark(Wireshark命令行)输出的原始帧进行操作,并且我可以轻松地从任何帧/字节流中提供它。

是否有人正在做类似的事情,或者是否有一种整洁的方法可以输出原始字节?

嗅探原始USB字节是可以的,但如果有人已经编写/脚本提取以太网帧,那就更好了。我使用perl,但任何编译应用程序或Python或C#或C ++等都可以。


据我所知,在Windows平台上,Wireshark没有USB数据包捕获模块。 - harper
谢谢。这正是我正在努力解决的问题 - 我不需要 Wireshark,但我需要访问原始数据包。 - afewscoops
2个回答

3

您提到了Python,Scapy可以处理大量原始数据包操作,建议您考虑使用。以下是它们的Git:

Scapy是一个强大的基于Python的交互式数据包操作程序和库。它能够伪造或解码各种协议的数据包,将它们发送到网络上,捕获它们,使用pcap文件存储或读取它们,匹配请求和响应等等。它被设计用来允许通过使用有效值快速进行数据包原型设计。它可以轻松处理大多数经典任务,如扫描、跟踪路由、探测、单元测试、攻击或网络发现(它可以替代hping、nmap的85%、arpspoof、arp-sk、arping、tcpdump、wireshark、p0f等)。在许多其他特定任务方面,它也表现出色,而大多数其他工具无法处理,例如发送无效帧、注入自己的802.11帧、组合技术(VLAN跳跃+ARP缓存中毒、WEP保护通道上的VoIP解码等)等等。Scapy支持Python 2.7和Python 3(3.3至3.6)。它旨在跨平台,并在许多不同的平台上运行(Linux、OSX、*BSD和Windows)。

请在https://github.com/secdev/scapy查看它们。


很高兴知道这些,但是Scapy需要安装在Npcap或WinPcap之上,这就是我的问题所在。 (我最初误解了我的问题,认为我需要操纵原始的USB流量。重新安装WinPcap就足以更新可用接口列表,所以我没有必要这样做。) - afewscoops

1

我手头没有Windows PC可以测试,但据我所知,在Windows上使用USB-Ethernet适配器捕获Wireshark中的以太网帧是没有问题的。

为了澄清,只需像选择其他设备一样选择USB-Ethernet设备即可。

你不能做的是捕获USB总线流量,但这不是你想要的,对吧?

来自遥远未来的编辑:Wireshark现在也可以捕获USB流量,不仅限于以太网流量。


1
USB以太网设备未在Wireshark中出现作为选择的接口。 tshark.exe -D仅报告2个接口:我的“真正”的以太网连接和无线局域网,但就是这些。 ipconfig列出了所有3个接口。 - afewscoops

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接