android - Android 版 USB 监控器

标签 android linux-kernel usb sniffing

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

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

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

最佳答案

我想您可以访问:

  • 当前在您的设备上运行的 Linux 版本的来源。它可以在 Samsung repository 上获得如果你没换过ROM。或者,如果您使用替代 ROM(CyanogenMod、Clockwork 等),则可以使用一些自定义内核。
  • 经证明适合编译此内核的 ARM 工具链
  • 当前在您的设备上运行的AOSP 版本(例如 4.1.2)。您需要它从新编译的内核镜像 zImage 构建新的 boot.img

您需要在 linux 中启用 CONFIG_USB_MON:

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

键入 / 进行搜索,然后输入 USB_MON。该标志位于:

-> Device Drivers
  -> USB support (USB_SUPPORT [=n])
    -> Support for Host-side USB (USB [=n])

然后重建:

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

然后请阅读 Documentation/usb/usbmon.txt 直接从您的内核源代码中获取。 它应该会教给您需要知道的一切。

关于android - Android 版 USB 监控器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24117094/

相关文章:

linux - DMA和内存映射IO有什么区别?

Linux 内核 - 等待队列

java - 在 IA 32 位平台上使用 JUSBPMP : NetBeansProjects\JUsbPmP\libjpmp-0. 1.1.so : Can't load this . dll(机器代码 = 0x101)时出错

Android 设备无法识别

c++ - OSX,USB 海量存储发现

android - 前台服务和 WakeLocks 不适用于华为设备

android - LayoutParams.addRule 是如何工作的?

android - Android Studio 中带有 apache 库的意外顶级异常

android - 错误 - android.database.CursorIndexOutOfBoundsException : Index 0 requested,,大小为 0

linux - 加载交叉编译的内核模块时出错