当我连接到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库。如何捕获这些数据包?我不知道。
请帮帮我,伙计们。。。
您需要使用VpnService通过应用程序重定向设备的所有网络流量。
如果你想使用jNetPcap,这里有一个工作示例(这里和这里有更多信息)。
读取流量后,您必须按照此处所述为每个目的端口/ip打开一个套接字。不过这并不容易。你必须先了解VpnService,我建议你先看看ToyVpn。
希望这些信息能有所帮助。