Android 版 usbmon

Bus*_*ush 3 usb android sniffing linux-kernel

我想分析我的设备的 USB 通信:SGS4。我到处都看到需要配置 usbmon 并将其编译到内核中。Afaik,这个模块没有内置在android linux系统中。

我在编译内核方面没有太多经验,但如果有必要,我会这样做。

您能说出这样做的步骤吗?即如何为 android 编译 linux 内核,使其包含 usbmon 模块。

m-r*_*ric 5

我想您可以访问:

  • 您的设备上当前运行的 Linux 版本的来源。如果您没有更改 ROM,则可以在Samsung 存储库中找到它。或者如果您使用替代 ROM(CyanogenMod、Clockwork 等),则可以使用一些自定义内核。
  • 经证明适合编译该内核的ARM 工具链
  • 您设备上当前运行的AOSP 版本(例如 4.1.2)。您需要它来boot.img从新编译的内核映像中构建新的内核映像zImage

您需要CONFIG_USB_MON在linux中启用:

$ make CROSS_COMPILE=your/armeabi/toolchain/path menuconfig

键入/搜索然后输入USB_MON. 该旗帜位于:

-> 设备驱动程序
  -> USB 支持 (USB_SUPPORT [=n])
    -> 支持主机端 USB (USB [=n])

然后重建:

$ make CROSS_COMPILE=your/armeabi/toolchain/path zImage

然后 Documentation/usb/usbmon.txt直接阅读您的内核源代码。它应该教你需要知道的一切。