最近因需要,想要做一款 UPS 工具,用于 NAS 断电保护功能,试了几款USB抓包用的工具(本文从鱼鹰课程仓库整理而来),在这里给有需要的道友一点参考。
为什么要抓包,是因为你以前没做过相关的协议,而市面上已经有成品,另外在学习协议时,也是非常不错的调试工具,特别是在解决 USB 协议bug问题上有奇效,另外 HID 协议非常复杂,需要专门的工具帮忙解析数据。
USB 中文网
USB标准请求及描述符在线分析
https://www.usbzh.com/tool/usb.html
试了一下,不怎么好用。
推荐指数 ★
USB Device Tree Viewer
试了一下,枚举数据显示的比较全面,但好像不支持抓包?如果只是为了分析已经枚举设备的数据,那么还是挺不错的。
推荐指数 ★★
USBPacketViewer
需要硬件支持,价格较贵,没用过,但根据网上流传图片,如果预算够的话,比较适合分析 USB 协议。
推荐指数★★★
USBlyzer
USBlyzer 非常不错的工具(试用期 33 天),可惜很多人安装后会把电脑所有 USB 搞挂(把原来的卸载就行,但是如果鼠标不能用的话,也麻烦,笔记本自带触摸屏不受影响),鱼鹰也不例外,但鱼鹰找到一款 2.1 Build 39 可用。
支持抓包,支持 HID 分析,如果你有复杂的 HID 协议需要分析,那么它是非常不错的选择。
推荐指数★★★☆
WireShark
支持动态抓取枚举时数据、枚举后的数据,但是在协议解析上,有些不足,并且它抓的是 URB 数据,不是纯 USB 数据,因此不太适合解析,更适合连续长时间抓包,但是看网上图片,能显示具体的 USB frame,不确定是否是版本原因,有了解的道友,可以留言讨论一下。并且不仅支持 USB,网络抓包才是它的特色。
推荐指数★★★☆
BusHound
老牌抓包工具,应该是传播最广泛的工具了,功能全面,鱼鹰最初用它抓 USB 串口数据是真的方便,可以用它分析串口数据。并且根据网上了解,它还支持发送数据。但抓枚举过程的数据鱼鹰倒是没试过。安装后有个小坑就是,一定要设置抓包长度,否则你会以为数据长度不对。
推荐指数★★★★
逻辑分析仪
如果你有带宽高的逻辑分析仪(硬件设备),又拥有强大的解析协议的上位机,那么在抓包上还是很合适的,通信过程一目了然,特别适合 USB 入门学习。这里鱼鹰使用金沙滩的。
但是由于支持 USB 协议的分析仪价格较高,同时在长时间抓包(存储空间有限)和数据分析(会抓所有包,包括 Nak 和 Frame 的)上,不是那么方便,所以长期抓包上不如前面的纯软件方案。
推荐指数★★★★☆
你还用过哪些好用的 USB 抓包工具,不如讨论一番。