使用wireshark抓包
环境要求
安装wireshark,并且安装usbpcap插件,安装wireshark的过程中会有提示,直接安装即可
抓包过程
不多说直接上图,勾选USBPcap1,点击开始即可
进入抓包界面,因为我使用的台式机,已经插入了USB键盘和鼠标,所以上来就有大量数据涌现。
所以我加了过滤条件用来过滤只属于U盘通信的数据包,过滤方法是,打开抓包之后,先看看目前鼠标和键盘的地址,只要移动鼠标或者击键就能看到数据包,插入U盘后,会出现新的数据包,这时记下U盘的地址便可以过滤了.
注意: USB设备接入之后,USB数据线电平会发生变化,usb主机会根据电平状态判断是否有设备接入以及设备的类型,主要是区分全速还是低速设备,并且通过地址0获取设备描述符,根据描述符得到设备最大控制传输的字节长度,一般主机会对设备进行复位,复位完成后给设备分配地址,并用新地址获取设备描述符.由于我这里无法用wireshark抓取到枚举过程的数据包,我们的usb数据包分析只能从分配完地址之后开始。
下面是过滤好的结果,如下所示:
我的U盘地址是4,这里wireshark source给出的地址是 1.4.0,这里面1是总线号,4是usb设备地址,0是端点号。
关于设备地址: usb最多挂载127个设备,就有127个地址
关于设备端点: 我的简单理解就是一个