5

我知道如何在 Android 中开发并使用 Apache HTTP 库,但我想走得更低,获得无线接口适配器并能够无线发送和接收数据包。我知道这是可能的,因为 android 市场上有嗅探器应用程序。我环顾四周并用谷歌搜索了很多,但似乎对如何开始也没有任何想法。令人惊讶的是,以前似乎也没有人在 SO 上问过这个问题。

我想没有 android API 可以为你做这件事。请提出一种在 android 中发送/接收数据包的方法或发布对任何此类资源的引用。

谢谢!

注意:我知道 java.net api 可以在 android 中使用(虽然我以前没有使用过)但这并没有给我我想要的那种访问权限。

4

3 回答 3

2

使用标准 SDK/NDK 无法做到这一点。

在有根设备上,您可能会调用tcpdump或其他基于 libpcap 的应用程序。没有一种受支持的方式可以在生产 Android 设备上为 Java 应用程序提供所需的权限。

例如,这篇博文描述了如何使用tcpdump在 Android 上进行基本的数据包捕获。

于 2011-10-24T02:42:13.923 回答
1

Android OS 4.0 或更高版本提供了一个 VpnService,您可以通过它监控网络流量。http://www.taosoftware.co.jp/en/android/packetcapture/提供的应用程序使用捕获数据的 VpnService。

于 2012-05-30T06:54:09.153 回答
1

你看过 NDK 吗?也许你可以在 C(++) 中做你想做的事。

于 2011-10-23T18:40:43.987 回答