[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。

参考文章

如何用Wireshark捕获USB数据?
linux系统USB抓包方法

posted @ 2022-04-24 15:41  jiftle  阅读(1345)  评论(0编辑  收藏  举报