Netcat es una de esas herramientas que todo administrador de sistemas lleva en su caja de herramientas. Enviar datos entre dos máquinas, abrir un puerto, transferir un archivo: todo se resuelve con un comando. Pero su simplicidad oculta una complejidad que a menudo se pasa por alto.
Para conectar dos ordenadores a través de Internet hay que conocer las direcciones IP, abrir puertos en el router, lidiar con NAT y si la red es mínimamente restrictiva, lidiar con cortafuegos que bloquean cualquier intento de conexión entrante.
Tailcat resuelve ese problema con una elegancia que solo Tailscale podía ofrecer.
La herramienta, publicada por el equipo de Tailscale, funciona como un netcat moderno pero sobre el plano de datos de Tailscale. El usuario no necesita configurar nada, no necesita saber la IP de la otra máquina, no necesita abrir puertos.
Solo necesita ejecutar un comando en el servidor, copiar la dirección generada y pasársela al cliente. A partir de ahí, la conexión se establece sola, cifrada con WireGuard y con NAT traversal automático incluido.
Un netcat que se salta la configuración de red
La propuesta de Tailcat es engañosamente simple. En la máquina de destino, se ejecuta tailcat y la herramienta genera una dirección especial con el formato tcXXXXXXXXX. Esa dirección es lo único que el cliente necesita para conectarse. No hay que abrir puertos en el router, no hay que configurar reglas de cortafuegos, no hay que averiguar la IP pública. Todo eso lo resuelve Tailcat por debajo.
El mecanismo es el siguiente: el servidor se registra en un servidor DERP (un relay de Tailscale) que actúa como punto de encuentro. El cliente se conecta a ese relay, intercambia información con el servidor y, si es posible, ambos establecen una conexión directa punto a punto mediante WireGuard. Si la conexión directa no es viable, el tráfico sigue fluyendo a través del relay DERP, manteniendo la comunicación sin interrupciones.
El resultado es una experiencia que combina lo mejor de dos mundos: la simplicidad de netcat con la infraestructura de NAT traversal y cifrado de Tailscale, pero sin necesidad de tener una cuenta de Tailscale ni de desplegar una red privada completa.
De relay a conexión directa: cómo funciona por dentro
Para comprender el funcionamiento de Tailcat, nada mejor que observar su propio comando de diagnóstico. Al ejecutar tailcat ping --until-direct tcXXXXXXXXX contra una dirección remota, la herramienta muestra cómo evoluciona la conexión en tiempo real.
En el ejemplo documentado, la primera respuesta llega en 11,93 milisegundos a través del servidor DERP de Tokio. Un instante después, la segunda respuesta llega en 11,71 milisegundos desde una dirección IP directa. Lo que ha ocurrido entre ambos mensajes es la esencia de Tailcat: el relay DERP ha servido como punto de encuentro inicial, y una vez que ambas máquinas han intercambiado información suficiente, han establecido una conexión directa P2P utilizando WireGuard, eliminando la dependencia del relay y reduciendo la latencia.
Este enfoque es el mismo que utiliza Tailscale para construir sus redes privadas, pero reducido a su mínima expresión: una conexión punto a punto efímera, sin control plane, sin autenticación de usuarios, sin configuración persistente.
Un abanico de usos que va mucho más allá del envío de texto
Aunque el caso de uso más básico de Tailcat es enviar texto entre dos máquinas, la herramienta incluye una serie de comandos que la convierten en una navaja suiza para la conexión remota.
La tabla de comandos disponibles cubre prácticamente cualquier necesidad de comunicación entre dos equipos:
El modo SSH permite conectarse a una máquina remota utilizando autenticación por clave pública. El servidor se ejecuta con tailcat serve --ssh-authorized-keys=~/.ssh/authorized_keys ssh y el cliente se conecta con tailcat ssh tcXXXXXXXXX. Sin configuración de SSH, sin abrir el puerto 22, sin exponer el servicio a Internet.
El modo recepción de archivos convierte una máquina en un destino para transferencias. El servidor ejecuta tailcat recv ~/inbox y el cliente envía el archivo con tailcat cp report.pdf tcXXXXXXXXX:. Una forma sencilla y segura de mover archivos entre dos ordenadores sin depender de servicios en la nube.
El modo servidor de archivos va un paso más allá. Con tailcat serve files, el cliente puede listar el contenido con tailcat ls -l tcXXXXXXXXX o descargar archivos con tailcat cp tcXXXXXXXXX:report.pdf ., todo a través de SFTP.
El modo servidor web permite exponer un servicio HTTP local a la otra máquina. El servidor ejecuta tailcat serve 80 y el cliente abre el navegador con tailcat browse tcXXXXXXXXX. Es una forma rápida de compartir una aplicación web en desarrollo sin desplegarla en un servidor accesible desde Internet.
El modo port forwarding redirige un puerto remoto a un puerto local. Con tailcat serve 8080 en el servidor y tailcat forward tcXXXXXXXXX 18080:8080 en el cliente, el puerto 8080 remoto queda accesible en el puerto 18080 local.
Las funcionalidades avanzadas que lo convierten en una plataforma
Más allá de los comandos básicos, Tailcat incluye un conjunto de capacidades que amplían su alcance. Permite ejecutar comandos a través de un proxy SOCKS5, ejecutar automáticamente comandos al establecer una conexión mediante la función exec, convertir direcciones cortas en direcciones autocontenidas que incluyen la información del servidor DERP, y utilizar servidores DERP propios para quienes quieren controlar la infraestructura de relay.
También ofrece una biblioteca en Go para integrar la funcionalidad de comunicación de Tailcat en aplicaciones propias, y una versión en WebAssembly que permite enviar y recibir texto y archivos directamente desde el navegador. Esta versatilidad convierte a Tailcat en algo más que un simple reemplazo de netcat: es una plataforma de conectividad punto a punto que se puede adaptar a múltiples escenarios.
El debate en Hacker News: ¿es realmente necesario?
Como suele ocurrir con las herramientas de Tailscale, Tailcat ha generado un interesante debate en Hacker News. Algunos usuarios han recibido la herramienta con entusiasmo, describiéndola como “WireGuard y DERP convertidos en un CLI punto a punto de un solo uso”, lo que la convierte en una solución práctica para conexiones rápidas y efímeras.
Otros, en cambio, han cuestionado su necesidad. El argumento es razonable: si WireGuard ya existe y es gratuito, ¿por qué necesitamos una capa adicional? ¿No sería más sencillo usar WireGuard directamente con alguno de los muchos generadores de configuración disponibles?
La respuesta del autor de Tailcat es directa y esclarecedora: “WireGuard no soporta NAT traversal”. Es cierto que WireGuard puede funcionar detrás de NAT, pero requiere que al menos uno de los extremos tenga un puerto accesible o que se configuren manualmente las reglas de reenvío. Tailcat automatiza esa parte, añadiendo el descubrimiento de rutas, el NAT traversal y el fallback a DERP cuando la conexión directa no es posible.
La comparación con netcat es pertinente. Netcat tampoco es estrictamente necesario: se pueden usar socat, ssh o cualquier otra herramienta para transferir datos entre máquinas. Pero netcat es cómodo, está en todas partes y resuelve el problema en una línea. Tailcat aspira a ocupar ese mismo nicho, pero en el contexto de redes modernas donde el NAT y los cortafuegos son la norma, no la excepción.
¿Cómo instalar Tailcat en Windows?
La instalación de Tailcat es tan sencilla como la herramienta misma. En Windows, basta con acceder a la página de releases del repositorio en GitHub, descargar el archivo ZIP correspondiente a la última versión y descomprimirlo. Dentro de la carpeta extraída se encuentra tailcat.exe, el binario que contiene todos los comandos.
Para quienes prefieran otros sistemas operativos, Tailcat también está disponible para Linux y macOS, y su naturaleza de código abierto permite compilarlo desde el código fuente si se prefiere. Al estar escrito en Go, el binario es autocontenido y no requiere dependencias externas.
La conexión punto a punto como servicio
Tailcat representa una evolución natural de las herramientas de red que hemos utilizado durante décadas. Netcat fue revolucionario porque permitía conectar dos máquinas con un solo comando. Tailcat lleva esa misma filosofía al siglo XXI, donde las redes son más complejas, los cortafuegos más restrictivos y la privacidad una preocupación constante.
La herramienta no pretende reemplazar a WireGuard ni a Tailscale. Los complementa. Ofrece una forma rápida, segura y sin configuración de establecer una conexión punto a punto entre dos máquinas cualesquiera, con cifrado de extremo a extremo y NAT traversal automático. Para los administradores de sistemas que pasan horas configurando túneles y reglas de cortafuegos, Tailcat es un alivio. Para los desarrolladores que necesitan compartir un archivo o una aplicación web con un compañero, es una solución inmediata.
La simplicidad, en este caso, no es una limitación. Es la característica más valiosa de una herramienta que resuelve un problema cotidiano con una elegancia que solo se consigue cuando se comprende profundamente la infraestructura subyacente. Tailcat no inventa nada nuevo; simplemente hace accesible lo que antes requería conocimientos especializados. Y eso, en el mundo de las redes, es un logro considerable.
Descubre más desde CIBERED
Suscríbete y recibe las últimas entradas en tu correo electrónico.



