Fork me on GitHub

 

  需要使用root权限来运行Wireshark,并利用Wireshark来嗅探USB通信数据。当然了,我们并不建议大家利用root权限来进行操作。我们可以使用Linux提供的usbmon来为我们获取和导出数据信息的操作赋予足够的权限。具体请参考Linux-udev。我们所要做的就是创建一个usbmon group,然后将我们的账号加入这个组,最后生成相应的udev规则。相关操作命令如下:

addgroup usbmon
gpasswd -a $USER usbmon
echo 'SUBSYSTEM=="usbmon", GROUP="usbmon", MODE="640"' > /etc/udev/rules.d/99-usbmon.rules

接下来,我们需要使用usbmon的内核模块。如果系统还未加载该模块,我们可以使用root权限并运行下列命令来进行加载。

modprobe usbmon

打开Wireshark之后,我们可以看到如下图所示的接口列表。你应该能看到形如usbmonX的信息,其中X为数字。下图显示的是我的信息(没错,我使用了root权限):



  如果Wireshark检测到了接口中有数据流信息,它会以波形图的形式将信息显示给我们。那么,我们该选择哪一个呢?还记得我之前说过的吗?没错,数字“X”所对应的就是设备所连接的USB总线。
在我的操作过程中,目标设备为usbmon3。我们打开它之后,就可以看到其中的数据流信息了。点击usbmon接口,然后点击那个蓝色的鱼鳍图标。




参考文档:
1 https://www.anquanke.com/post/id/83481
posted on 2019-05-13 15:02  虚生  阅读(4270)  评论(0编辑  收藏  举报