android uso pcap biblioteca

Tengo una pregunta general de acuerdo a una aplicación para Android, necesito usar alguna funcionalidad pcap en mi aplicación para Android. Porque java no da la posibilidad en inyecciones de paquetes crudos y programación de capa baja (por lo que sé, pls me corrige si estoy equivocado) por lo que estaba buscando una alternativa. Hasta ahora he encontrado lo siguiente:

  • ANDROID NDK
  • JNETPCAP

¿Alguna sugerencia que debo usar o alguien tiene otras sugerencias?

La solución JNI

Usted necesita para envolver las llamadas y la lógica que necesita de libpcap en C o C + + y exponer las funciones subyacentes a través de JNI (Java Native Interface) para que su aplicación puede llamar a código nativo en Java.

La documentación sobre JNI es bastante completa en internet, hay muchos tutoriales sobre este tema como éste .

Si desea insertar código nativo en JNI, puede utilizar Swig que le permite generar automáticamente código JNI basado en sus encabezados nativos de C / C ++.

El código JNI obtenido debe ser compilado usando el Android NDK como una biblioteca dinámica (.so). Esta biblioteca se colocará en su paquete de aplicaciones bajo libs/ . A continuación, puede invocar System.loadLibrary(path_to_you_dynamic_library) para cargar todos los símbolos contenidos en la biblioteca y utilizarlos en Java.

Uso de una biblioteca de terceros

Si tienes miedo de tener dolores de cabeza mientras averigua cómo usar JNI, puedes mirar a esta biblioteca que hace el trabajo duro para ti, y proporciona una API para manipular sockets sin procesar en Java.

http://www.savarese.com/software/rocksaw/

Usted necesita para envolver las llamadas y la lógica que necesita de libpcap en C o C + + y exponer las funciones subyacentes a través de JNI (Java Native Interface) para que su aplicación puede llamar a código nativo en Java.

O usted necesita para obtener una biblioteca que ya está hecho que, como, err, umm, jNetPcap .

Un problema que puede tener con cualquier intento de hacer captura de paquetes en Android, o cualquier otro sistema operativo que utilice el kernel de Linux, es que, por defecto, el mecanismo de kernel subyacente utilizado por libpcap (sockets PF_PACKET ) requiere privilegios de root. Si hay una manera de ejecutar el código como root, o para darle CAP_NET_RAW y posiblemente los privilegios CAP_NET_ADMIN , podría ser posible hacerlo funcionar.

  • rendimiento u optimización en Android: variable local final vs variable local
  • ¿Es posible compilar un código Java simple en Android Studio?
  • Icono de imagen en vista de lista expandible en android
  • Basic Android: ¿Cómo mostrar la cadena de entrada del usuario?
  • Encriptación AES j2me
  • Java.io.IOException: No se han encontrado problemas de autenticación
  • múltiples hilos que acceden al array
  • Android - ViewCompat setBackgroundTintList no funciona en la API 21
  • Actualización del recuento del carro al presionar el botón de retroceso después de la eliminación
  • ¿Cómo puedo manejar múltiples clientes conectados a un servidor mediante sockets?
  • ¿Cómo configuro la versión Gradle en Android Studio 1.3?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.