linux下usb抓包:wireshark+usbmon,usbmon

描述

wireshark:介绍和安装方式请自行搜索;

 

usbmon:即usb monitor,是linux内置的usb抓包工具;本质是内核模块,以ubuntu 14.04为例,模块的位置:/lib/modules/3.16.0-67-generic/kernel/drivers/usb/mon/usbmon.ko

 

 

Steps

 

1. 加载usbmon模块

sudo mount -t debugfs none /sys/kernel/debug 

#这一步一般不用做,debugfs默认都是挂载的

sudo modprobe usbmon

若加载成功,则 sudo ls /sys/kernel/debug/usb,可以看到usbmon文件夹。

 

2. 添加udev规则,使得wireshark可以捕获到usb接口数据

 

addgroup usbmon

gpasswd -a $USER usbmon

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

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

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

 

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

 

# Bus 003: 设备在第3条总线上

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

4. 运行wireshark,注意要在root用户下,否则看不到usbmon

sudo wireshark

 

运行时可能会报权限之类的错误,直接跳过,选取后直接点击Start即可

 

 

开始界面:

 

 

数据抓取界面:

 

 

 

 

可以看到,wireshark已经把数据转换为usb通信格式呈现给我们!再也不用头疼的分析了!

 

相关推荐

相关文章