linux下usb抓包:wireshark+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即可

 

 

开始界面:

Linux

 

 

数据抓取界面:

Linux

 

 

 

 

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

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分