He compilado con éxito jNetPcap como una biblioteca compartida para Android. He hecho una aplicación simple usando este código: http://jnetpcap.com/examples/classic para probar la API.jNetPcap en Android: ¡problema con el método findAllDevs!
El problema es que cuando llamo a los findAllDevs método y excepción se lanza con este mensaje: "No se puede lista de dispositivos, issocket error de lectura: Permiso denegado"
no puedo entender la razón, ya que tengo hice una llamada en la primera parte de mi programa para obtener permisos de raíz para mi aplicación y probar mi aplicación en un teléfono rooteado. Cuando ejecuto la aplicación, aparece una ventana emergente con este mensaje: "SnifferApp recibió permisos de superusuario" y luego se produce la excepción.
¿Alguna idea?
Aquí está una parte de mi código:
Process p = Runtime.getRuntime().exec("su");
/*try {
Thread.sleep(10000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} // do nothing for 1000 miliseconds (1 second)
*/
try {
System.loadLibrary(JNETPCAP_LIBRARY_NAME);
}
catch (UnsatisfiedLinkError e) {
System.out.println("Native code library failed to load.\n" + e);
}
/***************************************************************************
* First get a list of devices on this system
**************************************************************************/
int r = Pcap.findAllDevs(alldevs, errbuf);
r = Pcap.findAllDevs(alldevs, errbuf);
if (r == Pcap.NOT_OK || alldevs.isEmpty()) {
tv.append("Can't read list of devices, error is" + errbuf
.toString());
setContentView(tv);
return;
}
Hola, tengo el mismo problema con mi aplicación. Pude instalar jnetpcap pero cuando ejecuto la función 'findAllDevs' recibo una lista vacía, no hay errores en errbuf ... Me preguntaba si ha resuelto el problema. Ya estoy ejecutando la aplicación como root: $ sudo -i -> root # eclipse -> iniciar el AVD en eclipse – wasp256
No lo resolví en absoluto. Finalmente, utilicé el código nativo para ejecutar mis experimentos. Si encuentro algo, te lo haré saber. –
Thanasis Petsas Tengo el mismo problema. He cumplido satisfactoriamente la biblioteca JnetPcap con Android NDK, pero cuando ejecuto este ejemplo clásico desde el sitio web oficial de JnetPcap, alldevs.size() devuelve 0. ¿Lo resolvió ??? –