jNetPcap for Android数据包捕获

时间:2014-02-25 12:28:41

标签: android networking android-wifi jnetpcap

连接到Wifi时,我一直在尝试捕获我的Android应用程序中的数据包。

我正在使用广播接收器类。

使用以下代码连接到wifi网络后,我已成功收到广播:

ConnectivityManager cm = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
        if (null != activeNetwork) {
            if(activeNetwork.getType() == ConnectivityManager.TYPE_WIFI){
                //wificonnected
                return 1;
            }
}

我想在网络连接时捕获数据包。我知道wifiInfo和WifiManager类的一切。

我正在尝试使用 jNetPcap 库。如何捕获这些数据包?我没有想法。

请帮帮我们......

1 个答案:

答案 0 :(得分:1)

您需要使用VpnService通过您的应用重定向设备的所有网络流量。

如果您想使用jNetPcap,here's a working example(更多信息herehere)。

在阅读流量后,您必须按照所述here打开每个目标端口/ IP的一个套接字。但这并不容易。您首先必须了解VpnService,我建议您先看看ToyVpn作为开始。

希望此信息有所帮助。