连接到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 库。如何捕获这些数据包?我没有想法。
请帮帮我们......
答案 0 :(得分:1)
您需要使用VpnService通过您的应用重定向设备的所有网络流量。
如果您想使用jNetPcap,here's a working example(更多信息here和here)。
在阅读流量后,您必须按照所述here打开每个目标端口/ IP的一个套接字。但这并不容易。您首先必须了解VpnService,我建议您先看看ToyVpn作为开始。
希望此信息有所帮助。