linux下的"BusHound"——usbmon

来源:互联网 发布:网络通信链路有哪些 编辑:程序博客网 时间:2024/06/05 11:59

随着Ubuntu版本的不同,usb_mon的名字可能不同,在Ubuntu16.04下是ubsmon



linux下的"BusHound"——usb_mon非常好

ubuntu下已经内置了usb抓包工具——usb_mon,位置:/lib/modules/3.13.0-24-generic/kernel/drivers/usb/mon/usb_mon.ko(ubuntu14.04)


使用方法如下:
sudo mount -t debugfs none /sys/kernel/debug   一般linux已经默认挂上了

sudo modprobe usb_mon


于是在/sys/kernel/debug/usb目录下出现了devices和usbmon

1)查看当前的usb device: sudo cat /sys/kernel/debug/usb/devices出现如下:

2)监听全部bus上的USB数据包,cat /sys/kernel/debug/usb/usbmon/0u

监听Bus=2上的USB数据包,cat /sys/kernel/debug/usb/usbmon/2u

一旦有数据就打印出来

读懂上面的数据,需要参考usbmon.txt

URB tag  :标志
TimeStamp:毫秒数
Event Type: 

S - submission,
C - callback,
E - submission error.

URBType:BusNo:DeviceAddr:EndPointNum
Ci Co   Control input and output
Zi Zo   Isochronous input and output
Ii Io   Interrupt input and output
Bi Bo   Bulk input and output
URB Status: 0为没有错误。-XXX是错误码。