[usb]linux系统下wireshark抓包usb设备通信报文
操作系统
linux下可以使用wireshark\tcpdump抓包usb协议
linux系统中可以用wireshark和tcpdump对USB数据进行抓取
前置条件
内核支持usbmon
echo 'SUBSYSTEM=="usbmon", GROUP="usbmon", MODE="640"' > /etc/udev/rules.d/99-usbmon.rules
sudo addgroup usbmon
sudo gpasswd -a john usbmon
查看驱动是否加载
如果没有,就行执行,加载驱动
sudo modprobe usbmon
sudo权限启动wireshark
过滤条件
usb.device_address == 36 && usb.data_length > 0
详细教程
1 Device 047: ID 5a41:594b
使用Wireshark和tcpdump前需要先安装usbmon.ko驱动,一般系统都已经将其编译到内核,输入命令tcpdump –D查看系统是否安装usbmon驱动。
如果打印信息包含usbmon内容则说明已经安装usbmon驱动
只抓包
tcpdump -i usbmon1 -w usb.pcap
Bus 003 Device 010: ID 046d:c52f Logitech, Inc. Unifying Receiver
ID部分所显示的数据为046d:c52f,这是厂商ID和产品ID(厂商ID: 产品ID)。很明显,厂商ID为046d,产品ID为c52f。