android - 可以使用 VpnService 实现来捕获和发送数据包吗?

标签 android

我正在考虑使用新的android (4.0) VpnService 接口(interface)来实现简单的数据包捕获和分析的可能性。有谁知道是否可以获取您在 VpnService 实现中收到的数据包并将它们简单地写出到 Activity/默认网络设备?当然,要接收数据,我还必须能够从网络设备读取数据。如果可能,可以使用哪些 API 写入网络设备?

最佳答案

tPacketCapture 创建到远程机器的第二个套接字以转发数据包。我已经使用 adb shell netstat 查看了 tPacketCapture:

Proto Recv-Q Send-Q Local Address              Foreign Address            State 
tcp        0      0 192.168.1.126:49828        97.74.42.79:80             ESTABLISHED
tcp6       0      0 ::ffff:127.0.0.1:5000      :::*                       LISTEN
tcp6       0    522 ::ffff:10.8.0.1:50294      ::ffff:97.74.42.79:80      ESTABLISHED
tcp6       0      0 ::ffff:192.168.1.126:34210 ::ffff:74.125.141.188:5228 ESTABLISHED
tcp6       0      1 ::ffff:192.168.1.126:43379 ::ffff:74.125.224.174:80   CLOSE_WAIT
tcp6       0      1 ::ffff:192.168.1.126:60217 ::ffff:74.125.239.14:443   CLOSE_WAIT

注意 97.74.42.79:80 两次。

我想我也必须这样做,除非有人有更好的主意。

关于android - 可以使用 VpnService 实现来捕获和发送数据包吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9199553/

相关文章:

Java/Android - 将 GMT 时间字符串转换为本地时间

java - Android SQLITE : How to retrieve primary key of a certain row

android - 获取 Android 键盘颜色以添加具有相同颜色的 View

java - 如何在 Android 中以编程方式打开设置中的 'App Permissions' 页面?

android - 在 Android 中处理 DatePicker 6-8-2014 到 06-08-2014 中的零?

android - 查询 Android 数据库以获取特定数据

java - 如果 RecyclerView 中的列表为空,我想显示带有空消息的 Toast

java - Android - 连接到蓝牙模块

android - 如何转换android颜色格式?

javascript - HTML5 音频标签 onplaying 甚至在 android 中的音频播放之前被触发