已经有很多的USB抓包工具了,如BusHound,USBlyzer以及Wireshark的USBPCap插件,这些工具都能进行USB协议的分析。
但是这些软件抓包工具工作在USB总线驱动之上,只能捕捉到传输层(Transfer)的数据,不能捕捉到的一些底层的数据包。如事务层(Transaction)信息和令牌包(Token)数据在这些软件中不能被捕捉到。总线事件,如唤醒,休眠,复位等也不能被捕捉到。
在进行USB设备开发时,这些底层的数据也包含了大量有用的信息。在进行开发调试时,需要对底层协议进行分析。在这种场景下,就需要使用USB Packet Viewer进行底层数据的抓取和分析。
如下图所示,使用USB Packet Viewer除了传输层的信息,还能看到事务层信息、令牌包以及总线事件。