linux抓usb包,linux wreshark usb 抓包

过滤制定设备数据

将usb设备插入主机,可以看到在当前bus上有很多设备的数据,我们需要将指定usb设备过滤出来。

每一个usb设备插入时,host端都会先发一个获取设备描述的指令。

usb设备收到该指令后会返回一个自身信息的包给到host。

我们可以根据收到返回数据信息中找到指定设备,然后根据编号设置过滤条件。

usb.src == “1.16.0” || usb.dst==“1.16.0”

38ab690cb62201547f6c9f741a9c3b82.png

5. 这时候我们通过libusb来和usb设备进行交互。可以看到当open设备的时候,有大量交互产生。

a520f8524a83d550c69a52e5369914eb.png

6. 这时候我们开启bulk传输来获取设备sn号

11d0d75e26b3b8dec81ed1d722b198ab.png 7. 获取案件事件和音频

可以看到数据是通过interrupt传输过来,每次都是由host端主动发起一个请求,设备端再返回一笔数据。

每次数据长度是64字节,间隔1ms,设备端返回的是128字节,但是只有后面64字节是有效数据,其他的应该是头信息。

有一点需要注意的是,这时候usb.dst 端口不再三单纯的1了,还会出现4和3等。

0fbc1afeafe960f8736a2e3b861a9a4f.png

安装

sudo add-apt-repository ppa:wireshark-dev/stable

Step 2: Update the repository:

sudo apt-get update

Step 3: Install wireshark 2.0:

sudo apt-get install wireshark

Step 4: Run wireshark:

sudo wireshark

If you get a error couldn’t run /usr/bin/dumpcap in child process: Permission Denied. go to the terminal again and run:

sudo dpkg-reconfigure wireshark-common

Say YES to the message box. This adds a wireshark group. Then add user to the group by typing

sudo adduser $USER wireshark

抓包usb

addgroup usbmon

gpasswd -a $USER usbmon

sudo vi /etc/udev/rules.d/99-usbmon.rules

#加入下面一行,保存退出

SUBSYSTEM==“usbmon”, GROUP=“usbmon”, MODE="640“

lsusb查看usb设备在哪条总线上

1.打开wireshark

sudo wireshark

2.选中usbmon1代表抓取Bus 001的报文

在抓取的报文中有Devices: 26即为我们要抓的USB设备报文

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值