usbmon数据抓取及其分析

usbmon 即 usb monitor,是 linux 内置的 usb 抓包工具。usbmon 本质是一个内核模块,在我的 ubuntu14.0 4中,模块的位置:/lib/modules/4.4.0-31-generic/kernel/drivers/usb/mon/usbmon.ko

1、检测内核是否支持 debugfs 文件系统

  linux 系统支持很多类型的文件系统,像 ext3、sysfs、ramfs、tmpfs等文件系统,首先检测内核是否支持 debugfs 文件系统。

  

usbmon数据抓取及其分析

2、挂载 debugfs 文件系统

  执行 sudo mount -t debugfs none_debugs /sys/kernel/debug 命令,如果提示已经挂载,则下次抓包就无需运行该命令了,表示系统默认会挂载该文件系统。

  

usbmon数据抓取及其分析

  如上图所示,我的 ubuntu 系统默认已经挂载了 debugfs 文件系统,无需再去手动挂载。

3、确认内核支持 usbmon 模块

  

usbmon数据抓取及其分析

  如上图所示,目前内核不支持 usbmon 模块,需要手动安装 usbmon 模块。

 4、安装 usbmon 模块

  执行 modprobe usbmon 命令,可以看到系统成功安装了 usbmon 这个模块。

  

usbmon数据抓取及其分析

  这里的原理是,usbmon是一个模块,使用 modprobe 安装该模块后,该模块内部调用 debugfs 相关的API,这样在 /sys/kernel/debug/usb 目录下便形成了 usbmon 这个目录。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzzxdj.html