我想捕获然后处理从计算机发送到USB打印机的USB数据。

我知道有几种软件嗅探器可以做到这一点,例如Wireshark。但是我需要一个硬件解决方案来执行捕获并将捕获的数据包发送到另一台计算机。但是小猎犬太贵了。除此之外,我还需要用自己的代码处理捕获的数据。拥有一个只能在屏幕上显示捕获到的数据包的专业软件对我来说是没有用的。也可以是设计成用于捕获USB信号的PCI卡以及允许我访问捕获的数据的API。像任何一种Arduino风格或Teensy和一个开源库。其中一些微控制器支持充当USB主机和客户端。因此,我想他们也有能力聆听通过电缆传输的数据包。我通过PS / 2找到了键盘记录程序的源代码,但找不到任何类似的项目来捕获USB。



评论

我会尝试在adafruit论坛或reddit上提问。抱歉,我帮不了你。

这些天,hardwarerecs.SE将是另一个提出这些问题的地方。我想说,但这也是这里的话题。

#1 楼

它不能完全满足您的价格限制,但是由于没有其他人参与进来,因此可能值得一提:

我使用了各种版本的Teledyne LeCroy USB协议分析仪,它们可以满足从捕获和下载/分析的角度来看您的需求。我已经看过较旧版本的“ CATC USB Chief”,但是它们仍然是目标的2倍。并且可能将计算机1和计算机2放在同一盒子中(最终将两条USB电缆连接到PC)。他们能够捕获HID,大容量存储和isoc数据。尽管请确保您还注意设备的USB版本,因为旧的捕获硬件将不支持所有新的协议/速度。

#2 楼

昂贵的商业解决方案:Beagle(400€),Ellisys(800-3200€),MQP,国际测试仪器(600€),Teledyne Lecroy(1000€),USBeee(1000-2000€)。

我找到的最便宜的商业解决方案:Keelog Morphstick,125欧元,在您的预算之内。

DIY解决方案:




https:// github.com/matlo/serialusb USB设备-> USB电缆->嗅探PC-> USB电缆-> GIMX适配器-> USB电缆->主机PC。
基于FPGA的几个:http://essentialscrap.com /dsoquad/usb.html,
http://ultra-embedded.com/usb_sniffer,
http://openvizsla.org/

带有示波器和python脚本https ://rdist.root.org/2010/12/27/building-a-usb-protocol-analyzer/


您还可以研究“ USB over IP”。

#3 楼

另一个用于USB的硬件数据包嗅探器是ezSniffer($ 79)1。它可与全速和高速设备一起使用,并且有一个Python示例可供分析。