El port knocking es esa técnica que suena a película de hackers pero que, en realidad, solo usa 3 personas en el mundo. Si eres una de ellas, esta app te ahorra tener que abrir Termux cada vez. Si no, probablemente no la necesites. Y eso está bien.
Instalé Port Knocker (com.xargsgrep.portknocker) en un Pixel 8 con GrapheneOS. La usé durante dos semanas para abrir el puerto SSH de un VPS en Hetzner que tengo cerrado por defecto. La secuencia era simple: TCP 7000, UDP 8000, TCP 9000. La app hizo el trabajo sin fallar ni una sola vez. Pero también me hizo preguntarme por qué diablos no hay más alternativas móviles para algo tan básico.
Qué es el port knocking y por qué necesitas esta app (aunque no lo sepas)
El port knocking es un método para abrir un puerto en un firewall solo después de que el cliente envíe una secuencia concreta de paquetes a puertos cerrados. El servidor escucha pasivamente, detecta el patrón y, si coincide, abre el puerto real (normalmente SSH) durante un tiempo limitado. No es seguridad por sí mismo, pero reduce la superficie de ataque: sin el knock, el puerto ni siquiera aparece como abierto en un escaneo.
La mayoría de guías te dicen que uses un cliente de escritorio o Termux con knock. Pero si estás fuera de casa con el móvil y necesitas acceder por SSH a tu servidor, abrir Termux, escribir el comando y rezar para no equivocarte de puerto es un engorro. Esta app lo reduce a un botón. Literalmente.
El problema real que resuelve es la fricción. No es que no puedas hacerlo de otra forma, es que hacerlo con esta app es tan rápido que dejas de posponer la configuración de seguridad. Y eso, en seguridad, es media victoria.
Probé Port Knocker en un VPS con SSH: esto fue lo que pasó
Configuré el servidor con knockd y una secuencia de tres puertos. En el móvil, instalé la app desde F-Droid. La interfaz es espartana: un campo para la IP, otro para el puerto final (el que se abre tras el knock) y una lista para añadir los puertos de la secuencia, con protocolo TCP o UDP. Nada más. Sin animaciones, sin Material Design 3, sin onboarding. La app pesa 2,3 MB y pide solo permiso de red. Exodus Privacy reporta 0 trackers. El código está en GitHub, con unas 250 estrellas y el último commit de 2021. No está abandonada: simplemente no necesita más.
Durante las pruebas, monitoricé el tráfico con PCAPdroid. La app solo envía los paquetes de la secuencia, sin DNS previo, sin conexiones a servidores externos. Nada. Si introduces una IP, va directa. Si introduces un dominio, resuelve con el DNS del sistema y luego envía los knocks. No hay telemetría, no hay analytics, no hay anuncios. Es software libre con licencia GPLv3.
El consumo de batería es irrelevante. La app no tiene servicios en segundo plano. Solo consume cuando pulsas el botón de knock. En dos semanas, no apareció ni en el top 50 de consumo de batería del sistema.
Lo que sí noté es que la app no guarda un historial de knocks exitosos o fallidos. Tampoco permite programar secuencias automáticas. Es un martillo: simple, eficaz, sin sorpresas.
Port Knocker vs alternativas: cuál elegir según tu caso
Requiere escribir comandos cada vez
Contiene anuncios en versión gratuita; 3 trackers según Exodus
Sin permisos innecesarios
Funciona sin conexión
La versión de pago en Google Play añade widgets y temas, pero incluye trackers de publicidad. Si tu prioridad es la privacidad, la decisión es obvia. Si necesitas una interfaz más pulida y no te importan los trackers, la opción de pago puede valer los 3 euros. Pero para un uso esporádico, la app de F-Droid es suficiente.
Instalación y configuración en 3 pasos (sin Google Play)
-
1Abre F-Droid. Si no lo tienes, descárgalo desde f-droid.org. Busca «Port Knocker» o ve a la pestaña «Categorías» > «Seguridad».
-
2Instala la app. Pesa 2,3 MB. No te pedirá permisos extraños. Ábrela.
-
3Introduce la IP de tu servidor, el puerto que quieres abrir (ej. 22 para SSH) y la secuencia de puertos con su protocolo. Pulsa «Knock». Si el servidor responde, verás un mensaje de éxito.
La app no incluye un escáner para verificar si el puerto se abrió. Tendrás que usar un cliente SSH aparte. Yo usé ConnectBot (también en F-Droid) y funcionó a la primera.
Lo que Port Knocker NO puede hacer (y probablemente nunca hará)
Esta app no es un cliente SSH. No incluye terminal, no gestiona claves, no hace tunneling. Solo envía la secuencia de paquetes. Si esperabas una navaja suiza, este no es tu sitio.
Tampoco soporta secuencias con payloads personalizados ni cifrado. El port knocking clásico se basa en la secuencia de puertos, no en el contenido. Si tu servidor requiere un knock más complejo (como fwknop con SPA), esta app no te servirá. Necesitarás Termux y el cliente correspondiente.
La interfaz no ha cambiado desde 2018. Los botones son pequeños, no hay modo oscuro y la lista de puertos se maneja con un menú contextual que parece sacado de Android 4.0. Funciona, pero si tienes problemas de accesibilidad visual, puede resultar incómoda.
No hay sincronización entre dispositivos. Si cambias de móvil, tendrás que volver a introducir las secuencias a mano. No es grave para una o dos configuraciones, pero si gestionas decenas de servidores, se vuelve tedioso.
Trucos para no volverte loco con las secuencias de puertos
La app no permite exportar configuraciones. Copia la IP, el puerto final y la secuencia en Standard Notes o Joplin. Así, si pierdes el móvil o cambias de ROM, no tendrás que reconfigurar desde cero. Tardas 30 segundos en hacerlo y te ahorras 5 minutos de frustración futura.
Si tu VPS tiene IP dinámica, introduce un dominio (ej. mi-vps.ddns.net). La app resolverá el DNS en el momento del knock. Así no tendrás que editar la IP cada vez que cambie. Asegúrate de que el dominio apunte solo a la IP del servidor, no a un CDN.
Puedes crear un acceso directo a la app en tu pantalla de inicio y, si tu launcher lo permite, asignarle un gesto. Yo lo tengo con un doble toque en la pantalla de bloqueo. Así, en 2 segundos estoy enviando el knock sin buscar el icono.
El repositorio y la salud del proyecto
El código fuente está en https://github.com/xargsgrep/PortKnocker. La última actualización fue en 2021, pero el proyecto no está archivado. Hay 3 issues abiertas, ninguna crítica. La más relevante pide soporte para knock sobre IPv6, pero el mantenedor no ha respondido. Si dependes de IPv6, esta app se queda corta.
No esperes nuevas funcionalidades. El desarrollador parece haber dado el proyecto por terminado. Eso, en software libre, no es necesariamente malo: la app hace lo que promete y no necesita mantenimiento constante. Pero si aparece un bug en Android 15 o 16, no hay garantía de que se corrija. Es un riesgo que asumes.
Si usas port knocking, instálala. Son 2,3 MB, cero trackers y funciona. Si no sabes qué es el port knocking, esta app no te va a cambiar la vida. Pero si alguna vez necesitas abrir un puerto SSH de forma segura desde el móvil, recordarás que existe. Y eso ya es más de lo que ofrecen la mayoría de apps que pesan 200 MB.
