Capturando el tráfico de teléfonos móviles en Wireshark

Respuestas:

350

Aquí hay algunas sugerencias:

  1. Para teléfonos Android, cualquier red : Rootea tu teléfono, luego instala tcpdump en él. Esta aplicación es un contenedor tcpdump que instalará tcpdump y le permitirá iniciar capturas utilizando una GUI. Consejo: Deberá asegurarse de proporcionar el nombre de interfaz correcto para la captura y esto varía de un dispositivo a otro, por ejemplo, -i eth0 o -i tiwlan0 , o use -i any para registrar todas las interfaces

  2. Para teléfonos Android 4.0+ : PCAP de Android de Kismet utiliza la interfaz USB OTG para admitir la captura de paquetes sin requerir root. No he probado esta aplicación, y hay algunas restricciones sobre el tipo de dispositivos compatibles (consulte su página)

  3. Para teléfonos Android : tPacketCapture usa el servicio VPN de Android para interceptar paquetes y capturarlos. He usado esta aplicación con éxito, pero también parece afectar el rendimiento con grandes volúmenes de tráfico (por ejemplo, transmisión de video)

  4. Para dispositivos IOS 5+, cualquier red : iOS 5 agregó una instalación de interfaz virtual remota (RVI) que le permite usar programas de rastreo de paquetes de Mac OS X para capturar rastros desde un dispositivo iOS. Ver aquí para más detalles.

  5. Para todos los teléfonos, solo wi-fi: configure su PC como punto de acceso inalámbrico , luego ejecute wireshark en la PC

  6. Para todos los teléfonos, solo wi-fi: obtenga un dispositivo de captura que pueda oler wi-fi. Esto tiene la ventaja de proporcionarle encabezados 802.11x también, pero puede perder algunos de los paquetes

  7. Capture con un servidor VPN : es bastante fácil configurar su propio servidor VPN con OpenVPN. Luego puede enrutar su tráfico a través de su servidor configurando el dispositivo móvil como un cliente VPN y capturar el tráfico en el extremo del servidor.

rupello
fuente
1
Si está interesado en configurar un punto de acceso no autorizado en Windows 7 y superior y capturar paquetes usando Wireshark, eche un vistazo a los pasos que preparé en mohit.io/blog/… Esto funcionará para cualquier dispositivo que admita WiFi (Android , iOS, Wii, XBox, etc.)
mohit
2
Con respecto a la opción 2: esa es prácticamente una opción inexistente. Desde su página: "¡Necesitarás [...] y una NIC inalámbrica basada en RTL8187" !!!!
matteo
1
Para mí, la opción n. ° 3 es la más fácil de realizar tareas simples, como verificar qué llamadas hace una determinada aplicación.
Nighto
1
La mayoría de ellos no funcionan para paquetes que nunca salen del dispositivo o si ya usa una VPN. Por lo tanto, estos son inútiles para resolver problemas relacionados con MTU / fragmentación.
Evi1M4chine
1
¿Qué pasa si quiero hacer lo contrario? ¿Usar mi teléfono inteligente conectado por USB para capturar los paquetes de mi PC? Básicamente ejecutar un Wireshark-como software en mi teléfono Android
dominicbri7
40

Además de la excelente respuesta de rupello, un truco "sucio" pero muy efectivo:

Para todos los teléfonos, cualquier red (local) : configure su PC para Man-In-The-Middle su dispositivo móvil.

Use Ettercap para hacer spoofing ARP entre su dispositivo móvil y su enrutador, y todo el tráfico de su dispositivo móvil aparecerá en Wireshark. Vea este tutorial para detalles de configuración

minipif
fuente
3
También puede usar el proxy Charles en Mac OS, para capturar el tráfico HTTP, tiene una interfaz y funcionalidades muy agradables. Deberá configurar la IP local de su computadora con un proxy en su teléfono. También puede detectar el tráfico TLS y hacerlo sin previo aviso si instala el certificado de Charles en el teléfono.
minipif
28

Otra opción que no se ha sugerido aquí es ejecutar la aplicación que desea monitorear en el emulador de Android desde el SDK de Android. Luego puede capturar fácilmente el tráfico con wireshark en la misma máquina.

Esta fue la opción más fácil para mí.

MazeChaZer
fuente
1
Esa es una opción interesante. ¿Puede manejar paquetes SSL?
rescate
22

Wireshark + OSX + iOS:

Gran visión general hasta ahora, pero si quieres detalles para Wireshark + OSX + iOS:

  • instala Wireshark en tu computadora
  • conecte el dispositivo iOS a la computadora mediante un cable USB
  • conecte el dispositivo iOS y la computadora a la misma red WiFi
  • ejecute este comando en una ventana de terminal OSX: rvictl -s xdonde xestá el UDID de su dispositivo iOS. Puede encontrar el UDID de su dispositivo iOS a través de iTunes (asegúrese de estar usando el UDID y no el número de serie).
  • vaya a Wireshark Capture->Options, aparece un cuadro de diálogo, haga clic en la línea y rvi0luego presione el Startbotón.

Cuadro de diálogo Opciones de captura de Wireshark

Ahora verá todo el tráfico de red en el dispositivo iOS. Puede ser bastante abrumador. Un par de punteros:

  • no uses iOS con una VPN, no podrás entender el tráfico encriptado
  • use filtros simples para enfocarse en tráfico interesante
  • ip.addr==204.144.14.134 visualiza el tráfico con una dirección de origen o destino de 204.144.14.134
  • http visualiza solo el tráfico http

Aquí hay una ventana de muestra que representa el tráfico TCP para descargar en formato pdf desde 204.144.14.134:

Tráfico TCP Wireshark para descarga en pdf desde 204.144.14.134

drbobdugan
fuente
9

Para el teléfono Android utilicé tPacketCapture: https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.packetcapture&hl=en

Esta aplicación fue un salvavidas. Estaba depurando un problema con la falla del protocolo de enlace SSL / TLS en mi aplicación de Android. Intenté configurar una red ad hoc para poder usar wireshark en mi computadora portátil. A mi no me sirvió. ¡Esta aplicación rápidamente me permitió capturar el tráfico de la red, compartirlo en mi Google Drive para poder descargarlo en mi computadora portátil y poder examinarlo con Wireshark! Impresionante y no se requiere root!

Farrukh Najmi
fuente
No funcionará si sus problemas solo ocurren cuando usa una VPN (y nunca termina en el concentrador / enrutador tampoco).
Evi1M4chine
8

La aplicación para Android Packet Capture implementa una VPN que registra todo el tráfico de red en el dispositivo Android. No necesita configurar ningún servidor VPN / proxy en su PC. No necesita raíz. Admite descifrado SSL que tPacketCapture no admite. También incluye un buen visor de registros.

Akira Yamamoto
fuente
Esa VPN no funciona ... no se abre ninguna página o se obtienen datos ... tener esa VPN es como no tener conexión a Internet ...
Himanshu Bansal
4

De manera similar a hacer de su PC un punto de acceso inalámbrico, pero puede ser mucho más fácil, está utilizando el anclaje inverso. Si tiene un teléfono HTC, tiene una buena opción de conexión inversa llamada "transferencia de Internet", en la configuración de uso compartido de red / red móvil. Dirige todo su tráfico a través de su PC y puede ejecutar Wireshark allí.

Peter Jeffe
fuente
2

Haga de su computadora portátil un punto de acceso wifi para su teléfono (cualquiera) y conéctelo a Internet. Sniff Traffic en su interfaz wifi utilizando wireshark.

¡conocerás muchas cosas contra la privacidad!

FireCruZ
fuente
66
¿Puede ser más específico sobre cómo hacerlo en al menos una plataforma (Windows, Linux o Mac OS X)?
Alexandre Marcondes
2

Condiciones previas: adb y wireshark está instalado en su computadora y tiene un dispositivo Android rooteado.

  1. Descargar tcpdump a ~ / Downloads
  2. adb push ~/Downloads/tcpdump /sdcard/
  3. adb shell
  4. su root
  5. mv /sdcard/tcpdump /data/local/
  6. cd /data/local/
  7. chmod +x tcpdump
  8. ./tcpdump -vv -i any -s 0 -w /sdcard/dump.pcap
  9. CTRL+C después de haber capturado suficientes paquetes.
  10. exit
  11. exit
  12. adb pull /sdcard/dump.pcap ~/Downloads/

Ahora puede abrir el archivo pcap con Wireshark.

AtomicBoolean
fuente
1

Para Android , anteriormente usaba tPacketCapture pero no funcionó bien para una aplicación que transmitía algún video. Ahora estoy usando Shark . Sin embargo, debes ser root para usarlo.

Utiliza TCPDump (verifique los argumentos que puede pasar ) y crea un archivo pcap que Wireshark puede leer. Los argumentos predeterminados suelen ser lo suficientemente buenos para mí.

usuario276648
fuente
1
Shark ya no está disponible en Google Play.
not2qubit
De hecho, parece haber sido eliminado. El sitio swapper.n3o.lv tampoco parece contener más los apks.
user276648
0

Tuve un problema similar que me inspiró a desarrollar una aplicación que podría ayudar a capturar el tráfico de un dispositivo Android. La aplicación cuenta con un servidor SSH que le permite tener tráfico en Wireshark sobre la marcha ( componente sshdump wireshark ). Como la aplicación utiliza una función del sistema operativo llamada VPNService para capturar el tráfico, no requiere el acceso de root.

La aplicación está en versión beta temprana. Si tiene algún problema o sugerencia, no dude en hacérmelo saber.

Descargar desde Play

Tutorial en el que puedes leer detalles adicionales

Andrey Egorov
fuente