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通信格式呈现给我们!再也不用头疼的分析了!
全部0条评论
快来发表一下你的评论吧 !