linux wreshark usb 抓包

本文介绍如何使用Wireshark抓取特定USB设备的数据包,包括安装配置Wireshark、设置过滤条件及抓取步骤。适用于需要对USB通信进行故障排查或数据分析的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

过滤制定设备数据

  1. 将usb设备插入主机,可以看到在当前bus上有很多设备的数据,我们需要将指定usb设备过滤出来。
  2. 每一个usb设备插入时,host端都会先发一个获取设备描述的指令。
  3. usb设备收到该指令后会返回一个自身信息的包给到host。
  4. 我们可以根据收到返回数据信息中找到指定设备,然后根据编号设置过滤条件。

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

wsk_usb_get_desc
5. 这时候我们通过libusb来和usb设备进行交互。可以看到当open设备的时候,有大量交互产生。
在这里插入图片描述
6. 这时候我们开启bulk传输来获取设备sn号
get_dev_sn 7. 获取案件事件和音频
可以看到数据是通过interrupt传输过来,每次都是由host端主动发起一个请求,设备端再返回一笔数据。
每次数据长度是64字节,间隔1ms,设备端返回的是128字节,但是只有后面64字节是有效数据,其他的应该是头信息。
有一点需要注意的是,这时候usb.dst 端口不再三单纯的1了,还会出现4和3等。
get_dev_key_audio

安装
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、付费专栏及课程。

余额充值