ADB por internet en Android: configuraciones seguras con y sin root
Activar ADB remoto es fácil, y también es fácil hacerlo mal con consecuencias peligrosas. Esta guía sirve con o sin root, marca lo que solo funciona con root y muestra tres formas de llegar a tu teléfono sin abrir ningún puerto a internet.

Índice
- Con root o sin root: qué cambia
- Qué protege realmente a ADB y qué no
- Por qué la depuración inalámbrica no sirve para el acceso remoto desatendido
- Paso 1: activa ADB por TCP
- Sin root
- Con root (solo con root)
- Paso 2: elige una vía privada hasta el teléfono
- Método A: Tailscale
- Método B: un túnel SSH inverso a través de tu propio servidor
- Método C: WireGuard en tu propio servidor
- La configuración que debes evitar: redirigir el puerto 5555 en el router
- Lista de refuerzo de seguridad
- Trabajar con una conexión lenta
- Solución de problemas
- Preguntas frecuentes
- Antes de confiar en ello
- Fuentes y alcance
No necesitas root para llegar al ADB de tu teléfono desde otro país. Necesitas una forma de activar ADB por TCP y una vía privada entre tu ordenador y el teléfono. El root solo cambia la primera parte: permite que el teléfono active ADB por sí mismo y lo mantenga activo tras un reinicio, sin cable. Todo lo demás de esta guía funciona igual en un teléfono sin modificar.
Las dos formas de equivocarse son las mismas con o sin root. O se sigue un tutorial que redirige el puerto 5555 en el router de casa, o se confía en una conexión que funciona con Wi-Fi y falla en silencio con datos móviles.
Esta guía es para el teléfono que es tuyo: un móvil de repuesto que ejecuta tus pruebas, un teléfono en casa al que quieres acceder mientras viajas, una pequeña granja de dispositivos. No cubre cómo acceder al dispositivo de otra persona. Explica cómo funciona ADB remoto, cómo activarlo con y sin root y tres métodos de conexión que nunca exponen ADB a internet. Los pasos que requieren root van marcados con Solo con root.
En resumen: activa ADB por TCP en el teléfono, déjalo accesible solo a través de una vía privada cifrada y usa esa vía desde tu ordenador. Tailscale es la opción más fácil. Un túnel SSH inverso a través de un pequeño servidor tuyo es la más universal. Redirigir sin más el puerto 5555 es la única configuración que debes evitar.
Con root o sin root: qué cambia
| Tarea | Sin root | Con root |
|---|---|---|
| Activar ADB por TCP | Conecta el teléfono una vez a un ordenador y ejecuta adb tcpip 5555, o usa el método en el propio teléfono de abajo en Android 11 y posteriores | Ejecuta un comando en el propio teléfono |
| Mantenerlo activo tras un reinicio | Repites el paso anterior después de cada reinicio | Defines una propiedad y un script de arranque una sola vez. Solo con root |
| Acceder desde cualquier lugar | Tailscale, un túnel SSH inverso o WireGuard | Igual |
| Limitar el puerto 5555 a la VPN en el propio teléfono | No es posible | Una regla de firewall puede hacerlo. Solo con root y no es fiable en todos los dispositivos |
| Ejecutar comandos como root de forma remota | No. Tienes el usuario shell | adb shell su si tu gestor de root lo permite. Solo con root |
La diferencia práctica es la fiabilidad, no la capacidad. Un teléfono sin root funciona bien en remoto hasta que se reinicia, y entonces queda inaccesible hasta que alguien con el teléfono y un ordenador lo restablece. Para un teléfono que está en otra ciudad, ese es el motivo para rootearlo. Para un teléfono al que puedes acceder en persona, o para una prueba breve, no hace falta.
Qué protege realmente a ADB y qué no
Casi todos los consejos sobre ADB remoto dicen que ADB por red «no tiene cifrado ni autenticación». Es solo media verdad, y la parte falsa importa para cómo lo configuras.
El ADB de red clásico, el modo adb tcpip 5555, no está cifrado. Las notas de diseño de ADB de Android describen el transporte heredado como paquetes en claro, mientras que el modo Wi-Fi introducido en Android 11 protege la sesión con TLS.fuente 2 Cualquiera que pueda observar la ruta entre tú y el teléfono puede leer lo que envías.
La autenticación es otra cosa. En una compilación de producción normal, ADB sigue pidiendo al teléfono que apruebe la clave RSA de tu ordenador. La primera vez que te conectas, adb devices muestra unauthorized y el teléfono muestra un cuadro de diálogo: «¿Permitir la depuración por USB?» con la huella de la clave. La documentación de Android indica que los comandos adb no se pueden ejecutar hasta que desbloqueas el dispositivo y aceptas ese cuadro de diálogo.fuente 1 Las claves que apruebas se guardan en el teléfono, y marcar «Permitir siempre desde este ordenador» es lo que hace que las conexiones posteriores sean silenciosas.
Esto tiene dos consecuencias prácticas. La primera: un puerto expuesto no es una puerta abierta para un desconocido en un teléfono sin modificar, pero sí lo es para cualquiera que consiga una clave en la que el teléfono ya confía, y es una puerta completamente abierta en cualquier dispositivo con la autenticación desactivada. El malware que se ha propagado por el puerto 5555 ha dado sobre todo con esos dispositivos: TV boxes, proyectores, compilaciones de desarrollo y teléfonos en los que alguien desactivó el indicador secure. La segunda: la primerísima conexión desde un ordenador nuevo exige tocar la pantalla. Planifica autorizar tu clave mientras estás junto al teléfono, con un cable USB o en tu Wi-Fi doméstico, y marca la casilla que la recuerda.
| Modo | Cifrado | Puerto | Cómo se autentica |
|---|---|---|---|
adb tcpip 5555 o la propiedad service.adb.tcp.port | Ninguno. El tráfico va en claro | Fijo, normalmente 5555 | La solicitud de clave RSA en el teléfono |
| Depuración inalámbrica, Android 11 y posteriores | TLS | Aleatorio, cambia al reactivarlo | Código de emparejamiento o QR, y luego una clave guardada |
Por qué la depuración inalámbrica no sirve para el acceso remoto desatendido
La depuración inalámbrica parece la opción más segura y, para un portátil en tu Wi-Fi de casa, lo es. Para el acceso remoto te estorba. El puerto de conexión es aleatorio y cambia cuando desactivas y vuelves a activar la función, el descubrimiento depende de mDNS, que no atraviesa una VPN, y las versiones recientes de Android la desactivan por su cuenta. Android 17 con ADB 37 añade «ADB Wi-Fi 2.0», que desactiva la depuración inalámbrica en las redes que no has marcado como de confianza y se reconecta automáticamente en las que sí.fuente 4 Es un comportamiento excelente para el escritorio de un desarrollador y justo el contrario de lo que necesitas para un teléfono al que quieres acceder desde otro país.
Si quieres los detalles de esa función, nuestra guía de ADB inalámbrico en Android 17 explica el emparejamiento, las redes de confianza y el problema de «emparejado pero sin conexión». Para el uso remoto, la mejor pieza de partida es el puerto TCP fijo, que puedes activar con o sin root y proteger con algo más robusto que el propio puerto.
Paso 1: activa ADB por TCP
Elige la parte que corresponda a tu teléfono. Las dos acaban en el mismo estado: el daemon de ADB del teléfono escucha en el puerto 5555 y el paso 2 lo protege.
Sin root
En cualquier teléfono Android, activa las Opciones de desarrollador y la depuración por USB, conecta el teléfono a un ordenador con un cable, aprueba la clave cuando el teléfono lo pida y ejecuta:
adb tcpip 5555
Desconecta el cable. El teléfono acepta ahora ADB por red en el puerto 5555 hasta que se reinicie. Algunas compilaciones también restablecen el ajuste al activar o desactivar la depuración por USB, así que si el puerto deja de responder, vuelve a ejecutar el comando. Como el ajuste se pierde al reiniciar, un teléfono sin root necesita a una persona con un cable después de cada reinicio. Eso está bien para un teléfono que controlas y es poco práctico para uno al que no puedes acceder.
En Android 11 y posteriores hay una forma de hacer este mismo paso sin ningún ordenador. La comunidad la usa mucho, aunque no la hemos probado en todos los dispositivos. Activas la depuración inalámbrica, instalas Termux y su paquete de herramientas de Android, emparejas Termux con el propio teléfono mediante el código de emparejamiento, te conectas a la dirección del propio teléfono y ejecutas adb tcpip 5555 desde ahí. Necesita que el teléfono esté conectado a Wi-Fi en ese momento. Considéralo un recurso para el día en que olvidaste el cable, y consulta una guía actual de Termux para ver los comandos exactos, porque cambian con el paquete y la versión de Android.
Con root (solo con root)
En un teléfono con root, abre una app de terminal como Termux y obtén una shell de root. La propiedad que controla el puerto la lee el propio daemon de ADB, y el código fuente del daemon comprueba service.adb.listen_addrs, luego service.adb.tcp.port y después persist.adb.tcp.port.fuente 3
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd
Reiniciar el daemon corta cualquier sesión de depuración por USB abierta, así que ejecútalo desde el teléfono y no desde un PC conectado por cable. Comprueba que escucha:
getprop service.adb.tcp.port
ss -ltn | grep 5555
Algunas compilaciones de Android no incluyen ss; en otras funciona netstat -ltn. Si no hay ninguno, la prueba de conexión desde tu ordenador en el paso 2 es la prueba definitiva.
La propiedad service. se pierde cuando el teléfono se reinicia. Un teléfono al que no puedes acceder tras un corte de luz no es un teléfono remoto, así que haz el ajuste persistente. Hay dos formas, y se combinan bien. La primera es la propiedad persistente:
setprop persist.adb.tcp.port 5555
La segunda es un script de arranque. Con Magisk, un script de shell guardado en /data/adb/service.d/ y marcado como ejecutable se ejecuta al final del arranque; KernelSU y APatch usan en su lugar un módulo pequeño con un archivo service.sh. Consulta la documentación de tu gestor de root para saber la ubicación exacta, porque cambia entre herramientas y versiones.
#!/system/bin/sh
until [ "$(getprop sys.boot_completed)" = "1" ]; do sleep 5; done
setprop service.adb.tcp.port 5555
stop adbd
start adbd
Reinicia una vez y prueba. Los fabricantes de Android tratan estas propiedades de forma distinta, y algunas ROM las ignoran o las restablecen. En Android 11 y posteriores, una regla de SELinux llegó a impedir que ADB definiera la propiedad del puerto en algunas compilaciones y más tarde se relajó.fuente 5 Si en tu teléfono no sobrevive a un reinicio, la solución es el script de arranque, y si el daemon nunca escucha, es posible que tu ROM bloquee la propiedad. En ese caso, la alternativa es una sesión USB con adb tcpip 5555 después de cada arranque, que es el método sin root descrito arriba.
Para volver a desactivarlo, con root:
setprop service.adb.tcp.port -1
setprop persist.adb.tcp.port ""
stop adbd
start adbd
Sin root, desactivar la depuración por USB en las Opciones de desarrollador, o reiniciar el teléfono, hace lo mismo.
En este punto el teléfono escucha en todas las interfaces de red que tiene. No pasa nada siempre que lo único que pueda llegar a esas interfaces seas tú y tu red de confianza, que es el cometido del siguiente paso.
Paso 2: elige una vía privada hasta el teléfono
Todos los métodos siguientes funcionan con o sin root. Todos tienen el mismo objetivo: darle a tu ordenador una ruta cifrada y autenticada al puerto 5555 del teléfono, sin aceptar ninguna conexión entrante desde internet abierto. Esa segunda parte importa más de lo que parece. La mayoría de los teléfonos con datos móviles están detrás de un CGNAT del operador, así que una redirección en el router no los alcanzaría aunque quisieras hacerla.
| Método | Necesita | Funciona con CGNAT | Esfuerzo | Ideal para |
|---|---|---|---|---|
| Tailscale | Cuenta gratuita, app en ambos extremos | Sí | Mínimo | La mayoría |
| Túnel SSH inverso | Un servidor pequeño que controles | Sí | Medio | Quien evita servicios de terceros |
| WireGuard en tu propio servidor | Un servidor con IP pública | Sí | Medio | Una configuración fija y siempre activa |
| Redirigir el 5555 en el router | IP pública | No con datos móviles | Bajo | Nadie. No lo hagas |
Método A: Tailscale
Tailscale crea una red privada entre tus dispositivos y atraviesa el NAT por ti, y por eso funciona desde un teléfono con datos móviles. Instálalo en el teléfono y en tu ordenador e inicia sesión con la misma cuenta. Cada dispositivo recibe una dirección estable que empieza por 100., y la dirección del teléfono se ve en la app y en la consola de administración.
Desde el ordenador:
adb connect 100.x.y.z:5555
adb devices
La primera vez, el teléfono te pide aprobar la clave, y por eso conviene hacerlo una vez con el teléfono en la mano. La app de Tailscale no necesita root. Después, adb shell, adb push, adb logcat y scrcpy funcionan como si el teléfono estuviera sobre tu mesa.
Tres ajustes hacen que esto pase de cómodo a fiable. Primero, por defecto Tailscale deja que cada dispositivo de tu red llegue a todos los demás, y el archivo de política es donde lo restringes. Una regla que permite que solo tu propia cuenta llegue al teléfono etiquetado en el puerto 5555 se ve así en la política de acceso:fuente 6
{ "action": "accept", "src": ["you@example.com"], "dst": ["tag:phone:5555"] }
Segundo, desactiva la caducidad de la clave del teléfono en la consola de administración; si no, saldrá de tu red en la fecha prevista y no podrás volver a añadirlo desde lejos. Tercero, concede a la app de Tailscale un uso de batería sin restricciones en los ajustes de Android. Los usuarios cuentan que, con una gestión de energía agresiva, la app se detiene o se desconecta cada pocos minutos, y un corte en mitad de una transferencia es el síntoma habitual.fuente 8
Conviene conocer dos límites. El servidor SSH integrado de Tailscale no funciona en Android, porque la plataforma solo admite el cliente para esa función, así que usa directamente el puerto de ADB o el túnel SSH de abajo si necesitas una shell sin ADB.fuente 7 Y no uses Tailscale Funnel para esto. Existe para publicar servicios web en internet, que es lo contrario de lo que quieres hacer.
Método B: un túnel SSH inverso a través de tu propio servidor
Este método no necesita nada de terceros. Alquilas el servidor virtual más pequeño que encuentres, el teléfono se conecta hacia él y mantiene esa conexión abierta. Tu ordenador se conecta al mismo servidor y llega al teléfono a través de él. Como es el teléfono quien llama hacia fuera, funciona detrás de un CGNAT y en el Wi-Fi de un hotel.
En el teléfono, en Termux, que no necesita root, instala el cliente SSH y crea una clave:
pkg install openssh autossh
ssh-keygen -t ed25519
En el servidor, crea un usuario dedicado y añade la clave pública del teléfono a su archivo authorized_keys, con restricciones para que la clave no pueda hacer nada salvo abrir el único puerto de escucha en la interfaz de loopback:
restrict,port-forwarding,permitlisten="127.0.0.1:15555" ssh-ed25519 AAAA... phone
Después, en el teléfono, mantén el túnel abierto. Las opciones de abajo hacen que la conexión falle de forma visible si no se puede enlazar el puerto y evitan que se quede colgada en silencio en una red caída:
ssh -N -R 127.0.0.1:15555:127.0.0.1:5555 \
-o ServerAliveInterval=30 -o ServerAliveCountMax=3 \
-o ExitOnForwardFailure=yes tunnel@your-server.example
autossh puede supervisar ese comando y reiniciarlo, y el complemento Termux:Boot puede iniciarlo tras un reinicio, con termux-wake-lock para mantener la CPU activa mientras el túnel esté levantado. Configura también la batería de Termux como sin restricciones. Estas piezas dependen de tu versión de Android y de lo agresivo que sea tu fabricante al cerrar apps en segundo plano, así que prueba con la pantalla apagada durante una hora antes de depender de ello.
Desde tu ordenador, redirige un puerto local al túnel y conéctate a través de él:
ssh -N -L 5556:127.0.0.1:15555 you@your-server.example
adb connect 127.0.0.1:5556
Fíjate en el puerto local 5556. Tu propio servidor ADB suele ocupar ya el 5555, y un choque ahí produce errores confusos. La redirección remota se enlaza a la dirección de loopback del servidor, así que nada de internet puede llegar a ella directamente, y el comportamiento por defecto de OpenSSH para las redirecciones remotas ya se niega a enlazar una interfaz pública, salvo que hayas cambiado GatewayPorts.
Usa solo inicio de sesión con clave en el servidor y mantén desactivada la contraseña de ese usuario. Un túnel inverso con inicio de sesión por contraseña en un servidor SSH expuesto a internet no es mucho más seguro que la redirección de puerto que sustituye.
Método C: WireGuard en tu propio servidor
WireGuard consigue el mismo efecto que Tailscale con todas las piezas bajo tu control. Ejecuta un endpoint de WireGuard en un servidor con dirección pública, añade el teléfono y tu ordenador como peers y define PersistentKeepalive = 25 en el lado del teléfono para que las redes móviles mantengan viva la asignación de NAT. La app de WireGuard para Android, que no necesita root, cambia sin cortes entre Wi-Fi y LTE y puede funcionar como VPN siempre activa. Desde tu ordenador te conectas entonces a la dirección WireGuard del teléfono en el puerto 5555, igual que con Tailscale. Es la opción adecuada cuando quieres una configuración fija y permanente y no te importa mantener el servidor.
Una nota sobre una alternativa popular: Cloudflare Tunnel está documentado para SSH, pero no hemos verificado una configuración limpia para tráfico ADB sin procesar, así que no lo recomendamos aquí.
La configuración que debes evitar: redirigir el puerto 5555 en el router
Es tentador redirigir el puerto externo 5555, o un puerto personalizado «ingenioso», al teléfono y dar el trabajo por hecho. No lo hagas. Envía ADB sin cifrar por internet, depende por completo de una sola solicitud de clave y se anuncia a los escáneres que buscan justo esto.
No es teoría. En 2020, investigadores de Keysight que analizaban la botnet Trinity informaron de unos 40.000 dispositivos ADB expuestos visibles en Shodan, aproximadamente una cuarta parte de ellos teléfonos, y el malware se conectaba a ellos con el propio adb connect.fuente 9 Una botnet rival, Fbot, eliminó Trinity de los dispositivos infectados, y Trinity volvió en cuestión de horas. En febrero de 2021, la botnet Matryosh, basada en código de Mirai, se propagó por el mismo puerto.fuente 10 Cambiar el número del puerto externo no sirve de nada, porque los escáneres sondean todos los puertos.
Algunas guías proponen un término medio: redirigir el puerto SSH de un servidor Termux. Es mejor que redirigir ADB, pero sigue publicando un servicio SSH en tu IP doméstica, y dejar en internet un inicio de sesión de Termux con contraseña no es nada recomendable. Un túnel inverso o una red superpuesta consigue el mismo resultado sin ningún puerto de entrada.
Lista de refuerzo de seguridad
Autoriza solo los ordenadores que uses de verdad y revoca los antiguos. En las Opciones de desarrollador, «Revocar autorizaciones de depuración por USB» borra todas las claves guardadas, un buen hábito antes de entregar el teléfono a otra persona. Mantén desactivada la depuración de ADB en cualquier teléfono que no la necesite, y considera el puerto que abriste en el paso 1 parte de la misma decisión. No marques «Permitir siempre» en un ordenador compartido o público.
Una sesión de ADB autorizada ve lo que ve el usuario shell, que ya es mucho: apps instaladas, archivos que puedes leer, la pantalla y la entrada. Solo con root: en un teléfono con root, adb shell su puede llegar mucho más lejos si tu gestor de root se lo concede a la shell, así que configura el gestor para que pregunte antes de conceder acceso a la shell en lugar de permitirlo en silencio.
Solo con root: algunas personas añaden una regla de firewall en el teléfono para que el puerto 5555 solo responda en la interfaz de la VPN. La idea es sensata, pero no hemos podido confirmar que sea fiable en Android. El daemon de red del sistema puede reordenar o vaciar reglas cuando cambia la red, y la app estándar de Tailscale no crea una interfaz tailscale0 sobre la que aplicar la regla. Si lo pruebas, vuelve a aplicar la regla desde tu script de arranque y prueba desde un dispositivo que no esté en la VPN.
Trabajar con una conexión lenta
Un teléfono detrás de un túnel va más lento que uno sobre tu mesa, y la solución suele ser pedir menos. Para duplicar la pantalla con scrcpy, baja la resolución y la tasa de bits, por ejemplo scrcpy -s 100.x.y.z:5555 -m 1280 -b 4M; los nombres de los indicadores varían un poco entre versiones, así que consulta scrcpy --help. scrcpy también puede activar el modo TCP por ti con --tcpip, y su documentación recomienda desconectar cuando termines.fuente 11 Una ruta directa de Tailscale es más rápida que una retransmitida por los servidores del proveedor, y el estado de la conexión en la app te dice cuál tienes.
Cuando hay más de un dispositivo conectado, indica a ADB cuál quieres con adb -s 100.x.y.z:5555 ..., o usa -d para el dispositivo USB y -e para un emulador. Las transferencias de archivos y adb logcat son las tareas que mejor toleran la latencia.
Solución de problemas
| Lo que ves | Qué suele significar | Qué probar |
|---|---|---|
unauthorized | El teléfono no ha aprobado la clave de este ordenador | Desbloquea el teléfono y acepta el cuadro de diálogo, o revoca las autorizaciones e inténtalo de nuevo |
offline | Una conexión obsoleta | adb disconnect, adb kill-server y vuelve a conectar |
failed to connect o connection refused | No hay nada escuchando, la dirección es incorrecta, la VPN está caída o el teléfono está en reposo | Comprueba la propiedad y el puerto de escucha en el teléfono, y luego el estado de la VPN |
more than one device/emulator | Varios destinos | Usa -s, -d o -e, o define ANDROID_SERIAL |
| Funciona diez minutos y luego se corta | Gestión de energía de Android | Batería sin restricciones para Tailscale o Termux, un wake lock y opciones de keepalive |
| Funcionaba ayer, pero no tras un reinicio | Se perdió el ajuste del puerto | Sin root, ejecuta adb tcpip 5555 de nuevo por USB. Con root, define persist.adb.tcp.port o usa el script de arranque |
Con root, puedes comprobar lo que usa realmente el teléfono ejecutando getprop service.adb.tcp.port y getprop persist.adb.tcp.port en una shell de root. Sin root, la prueba es adb connect desde el ordenador. Si el teléfono también usa la depuración inalámbrica, recuerda que su puerto TLS aleatorio se guarda por separado, así que una conexión inalámbrica que funciona no dice nada sobre el puerto fijo.
Preguntas frecuentes
¿Necesito root? No. Sin root activas ADB por TCP una vez por USB y usas Tailscale, un túnel inverso o WireGuard exactamente como se describe. El inconveniente es que el ajuste se pierde en cada reinicio, así que alguien tiene que volver a conectar un cable. El root elimina ese paso y añade las opciones de firewall y su, y nada más de esta guía depende de él.
¿Funciona con datos móviles? Sí, porque Tailscale, WireGuard y un túnel inverso se conectan hacia fuera desde el teléfono. La redirección de puertos en el router es el método que falla ahí.
¿Es seguro dejarlo siempre activo? Es tan seguro como la vía que lo protege. Detrás de una red superpuesta con una política de acceso, la exposición es pequeña. Déjalo activo solo si de verdad lo vas a usar, y desactívalo cuando no.
¿Alguien puede abusar de esto sin la solicitud de clave? En una compilación normal, un ordenador nuevo tiene que ser aprobado en el teléfono. En cualquier compilación con la autenticación de depuración desactivada, pueden conectarse sin ella, y por eso nunca debes exponer ese puerto a internet, sea cual sea la compilación.
¿Por qué no usar simplemente una app de escritorio remoto? Para usar la pantalla, está bien, y una app para compartir pantalla no necesita root. ADB es la herramienta adecuada cuando necesitas comandos de shell, instalaciones, transferencias de archivos o registros a distancia.
Antes de confiar en ello
Prueba todo con el teléfono con datos móviles y el ordenador en otra red. Reinicia el teléfono y comprueba qué vuelve por sí solo: en un teléfono con root debería volver, y en uno sin root debes saber exactamente qué tienes que rehacer. Pruébalo también con la pantalla apagada durante un rato. Si no puedes acceder al teléfono tras alguna de esas pruebas, has encontrado el problema cuando aún es barato de arreglar.
Si todavía estás eligiendo un teléfono para proyectos como este y quieres uno que puedas rootear, nuestro catálogo de teléfonos rooteables muestra qué modelos se desbloquean sin problemas, y la guía de módulos de Magisk cubre la parte de módulos del script de arranque que solo funciona con root. Para una shell de Linux que no dependa del root, consulta Terminal Linux de Android vs Termux.
Fuentes y alcance
Esta guía se investigó en octubre de 2026 a partir de la documentación y el código fuente del propio Android, y de publicaciones de fabricantes y de investigación en seguridad. No probamos todas las versiones de Android ni todas las ROM. El comportamiento de las propiedades, los scripts de arranque, el truco para activarlo desde el propio teléfono, el enfoque del firewall y el comportamiento de la batería en Termux varían entre dispositivos, así que comprueba cada uno en tu propio teléfono antes de depender de ello.
- Fuente 1: Android Developers, Android Debug Bridge (adb) Abrir fuente
- Fuente 2: Android Open Source Project, notas de diseño de ADB Wi-Fi: el TCP heredado no está cifrado y el modo Wi-Fi usa TLS Abrir fuente
- Fuente 3: Android Open Source Project, adbd main.cpp, selección del puerto a partir de propiedades Abrir fuente
- Fuente 4: Android Developers Blog, depuración inalámbrica y ADB Wi-Fi 2.0 Abrir fuente
- Fuente 5: OmniROM, cambio en la política de SELinux para las propiedades de adbd Abrir fuente
- Fuente 6: Tailscale, listas de control de acceso Abrir fuente
- Fuente 7: Tailscale, compatibilidad de plataformas con Tailscale SSH Abrir fuente
- Fuente 8: Foro de la comunidad de Tailscale, desconexiones en Android y consumo de batería Abrir fuente
- Fuente 9: Keysight, malware TrinityP2P a través de ADB Abrir fuente
- Fuente 10: The Hacker News, botnet DDoS Matryosh, febrero de 2021 Abrir fuente
- Fuente 11: Documentación de scrcpy, Conexión Abrir fuente