是否可以在Android中使用NDK实现原始套接字?

时间:2016-04-13 02:09:57

标签: java android sockets android-ndk

我想制作读取帧的程序(其中包含链接层,IP层,TP头等所有标题)。我认为这在JAVA环境中是不可能的。

但是,有可能在Android上的NDK上制作这些东西吗?

如果不可能如何在android中创建类似wireshark(读取任何标题)的程序?

1 个答案:

答案 0 :(得分:0)

您可以使用VpnService来捕获IP数据包。

VpnService是应用程序扩展和构建自己的VPN解决方案的基类。通常,它会创建虚拟网络接口,配置地址和路由规则,并将文件描述符返回给应用程序。从描述符读取的每个都检索一个路由到接口的传出数据包。对描述符的每次写入都会像从接口接收到的那样注入传入的数据包。接口在Internet协议(IP)上运行,因此始终使用IP标头启动数据包。然后,应用程序通过隧道处理和与远程服务器交换数据包来完成VPN连接。