programacion - manual de android en pdf
Monitorear la actividad de la red en los teléfonos Android (10)
Me gustaría monitorear el tráfico de red de mi teléfono Android. Estaba pensando en usar tcpdump para Android, pero no estoy seguro si tengo que compilar de forma cruzada para el teléfono.
Otra pregunta es la siguiente: ¿Si quiero monitorear los datos de tráfico para una aplicación determinada, hay algún comando para hacer eso?
El enfoque común es llamar "cat / proc / net / netstat" como se describe aquí:
La herramienta DDMS incluida en el SDK de Android incluye una herramienta para monitorear el tráfico de red. No proporciona el tipo de detalle que obtiene de tcpdump y herramientas similares de bajo nivel, pero sigue siendo muy útil.
Documentación oficial: http://developer.android.com/tools/debugging/ddms.html#network
Necesitará rootear el teléfono y compilar de forma cruzada tcpdump o usar la versión ya compilada de otra persona.
Puede que le resulte más fácil hacer estos experimentos con el emulador, en cuyo caso podría hacer el monitoreo desde la PC de alojamiento. Si debe usar un dispositivo real, otra opción sería colocarlo en una red wifi que cuelga de una interfaz secundaria en un cuadro de linux que ejecuta tcpdump.
No sé desde el principio cómo se filtraría por un proceso específico. Una sugerencia que encontré en algunas búsquedas de Google rápidas es usar strace en el proceso del sujeto en lugar de tcpdump en el sistema.
Nota: tcpdump requiere privilegios de raíz, por lo que tendrá que rootear su teléfono si aún no lo ha hecho. Aquí hay un binary ARM de tcpdump (esto funciona para mi Samsung Captivate). Si prefiere crear su propio binario, las instrucciones están here (sí, es probable que tenga que compilar de forma cruzada).
Además, echa un vistazo a Shark For Root (una herramienta de captura de paquetes de Android basada en tcpdump).
No creo que tcpdump pueda monitorear el tráfico por un ID de proceso específico. El method strace al que Chris Stratton se refiere parece más un esfuerzo que su valor. Sería más sencillo monitorear IPs y puertos específicos usados por el proceso objetivo. Si no se conoce esa información, capture todo el tráfico durante un período de actividad del proceso y luego tamice el pcap resultante con Wireshark.
Packet Capture es la mejor herramienta para rastrear datos de red en Android. NO necesita ningún acceso de root y es fácil de leer y guardar las llamadas según la aplicación. Mira this
Para teléfonos Android (sin raíz): puede usar esta aplicación tPacketCapture , que capturará el tráfico de red de su dispositivo cuando habilite la captura. Consulte esta URL para obtener más detalles sobre el rastreo de la red sin enraizar su dispositivo.
Una vez que tenga el archivo que está en formato .pcap
, puede usar este archivo y analizar el tráfico utilizando cualquier analizador de tráfico como Wireshark.
También vea esta publicación para obtener más ideas sobre cómo capturar el tráfico de teléfonos móviles en Wirehark
Pruebe esta aplicación play.google.com/store/apps/details?id=app.greyshirts.sslcapture
Podemos ver todas las comunicaciones de red ... incluso las comunicaciones cifradas SSL.
Si lo estás haciendo desde el emulador, puedes hacerlo así:
Ejecute el emulator -tcpdump emulator.cap -avd my_avd
para escribir todo el tráfico del emulador en un archivo local en su PC y luego ábralo en wireshark
Hay un post similar que podría ayudar HERE
Sin root, puede usar servidores proxy de depuración como Charlesproxy & Co.
TCPDUMP es una de mis herramientas favoritas para analizar redes, pero si encuentra difícil compilar de forma cruzada el tcpdump para Android, le recomiendo que use algunas aplicaciones del mercado.
Estas son las aplicaciones de las que estaba hablando:
- Shark: es una versión pequeña de wireshark para teléfonos Android). Este programa creará un * .pcap y podrá leer el archivo en la PC con wireshark.
- Shark Reader: este programa te permite leer * .pcap directamente en tu teléfono Android.
La aplicación Shark funciona con dispositivos rooteados, por lo que si desea instalarla, asegúrese de que su dispositivo ya esté rooteado.
Buena suerte ;)