2014-02-25 42 views
0

我一直试图在连接到Wifi时在我的android应用程序中捕获数据包。jNetPcap for 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

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

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

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

希望此信息有帮助。