gpt4 book ai didi

java - android使用pcap库

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:23 24 4
gpt4 key购买 nike

根据 Android 应用程序,我有一个一般性问题,我需要在我的 Android 应用程序中使用一些 pcap 功能。因为 java 没有提供原始数据包注入(inject)和低层编程的可能性(据我所知,如果我错了请纠正我)所以我正在寻找替代方案。到目前为止,我发现了以下内容:

  • Android NDK
  • JNETPCAP

有什么建议我应该使用哪一个,或者有人有其他建议吗?

最佳答案

JNI 解决方案

您需要在 C 或 C++ 中从 libpcap 中包装您需要的调用和逻辑,并通过 JNI (Java Native Interface) 公开底层函数这样您的应用程序就可以调用 Java 中的 native 代码。

关于 JNI 的文档在 Internet 上非常完整,关于这个主题的教程很多,例如 this one .

如果您想在 JNI 中轻松包装 native 代码,您可以使用 Swig,它允许您根据 C/C++ native header 自动生成 JNI 代码。

获取的 JNI 代码应使用 Android NDK 作为动态库 (.so) 进行编译。该库将放在您的应用程序包中 libs/ 下。然后您可以调用 System.loadLibrary(path_to_you_dynamic_library) 加载库中包含的所有符号并在 Java 中使用它们。

使用第三方库

如果您害怕在弄清楚如何使用 JNI 时头疼,您可以看看这个库,它为您完成了艰苦的工作,并提供了一个 API 来操作 Java 中的原始套接字。

http://www.savarese.com/software/rocksaw/

关于java - android使用pcap库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15557831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com