¿Necesito rootear mi teléfono para obtener un tcpdump?

Estoy solucionando problemas con mi instalación de aCal y la buena gente de aCal me pidió el resultado de tcpdump -A: ¿necesito rootear mi teléfono e instalar busybox o puedo hacerlo desde un emulador de terminal ?

Todas las aplicaciones en Google Play que usan tcpdumpparecen requerir root. Una prueba rápida en mi máquina Linux mostró: como root funciona, como usuarios sin privilegios, simplemente recibo un mensaje de error que dice "tcpdump: no se encontró ningún dispositivo adecuado". Así que supongo que eso requeriría root. Por otro lado: no está de más instalar una aplicación de terminal y probar, o intentar hacerlo a través de adb shell.
Si bien la respuesta está actualizada para 2.3, debe tenerse en cuenta que tcpdump, o características similares a tcpdump, deberían estar disponibles en la versión más reciente de Android mediante el establecimiento de una VPN de software.

Respuestas (1)

Sí, tcpdump es una aplicación de nivel de administrador (dudo mucho que alguna vez haya un nivel de permiso de Android para ver el tráfico de red de todas las demás aplicaciones). Una vez rooteado, si tiene el binario tcpdump (compilado para el tipo de CPU de su dispositivo) en la tarjeta SD, intente:

su
mount -o remount rw /system/
cd /sdcard
cp ./tcpdump /system/xbin

Ahora puede usar el comando tcpdump.

Sin rootear, puede interceptar el tráfico en su LAN wifi configurando un proxy en su computadora en la configuración de su dispositivo e instalando mitmproxy en un virtualenv en su computadora y ejecutándolo.