Cuando queremos comprobar la conexión entre un servidor Linux y varios clientes, lo más sencillo es utilizar la popular herramienta Netcat para comprobar si la comunicación se ha establecido correctamente. Este programa es ampliamente usado para comprobar si los firewalls y a nivel de red podemos llegar a nuestro destino, sin embargo, hay una alternativa muy sencilla de utilizar y mucho más intuitiva llamada Rustcat. Si quieres una alternativa al popular Netcat, entonces Rustcat es lo que estás buscando. Hoy en RedesZone os vamos a explicar cómo instalar y utilizarla en vuestros equipos para comprobar las conexiones.
Si quieres tener una herramienta a mano en todo momento para verificar el estado de las conexiones en tu servidor Linux, entonces hay que echar mano de alguno de los diferentes programas que tienes a tu disposición en Internet. Una de las opciones más destacadas es Rustcat. Esta herramienta presenta una serie de ventajas por las que es totalmente recomendable utilizarla. Por ello, en este artículo vamos a explicarte cómo puedes poner en marcha este programa por tu cuenta, cómo funciona y, como no podía ser de otra manera, cada una de las características más importante de este software.
Principales características
Aunque hay varias opciones, algunas incluso más populares, uno de los programas que te pueden llamar la atención, especialmente porque no tiene ningún tipo de complejidad es Rustcat, un programa que permite abrir un socket en nuestro equipo. Y todo con el objetivo de aceptar conexiones entrantes y poder comprobar si hay comunicación con otro equipo que actúe como cliente.
Esto se puede hacer con varios propósitos, por ejemplo, para comprobar si a nivel de red está todo correcto, si la tabla de enrutamiento configurada está bien, e incluso si tenemos un firewall permitiendo o denegando las diferentes conexiones TCP y UDP a nuestro dispositivo. Disponer de una herramienta como Netcat o Rustcat cuando vamos a configurar un servidor es algo fundamental, gracias a esta herramienta, podremos comprobar si hay conectividad punto a punto, con tan solo abrir un determinado puerto en el firewall.
Si no tuviéramos herramientas como Netcat o Rustcat, tendríamos que poner a escuchar un servidor web o FTP en diferentes puertos para comprobar si están abiertos correctamente y escuchando, sin embargo, con estos servidores tendríamos que modificar el archivo de configuración, probar con un cliente web o cliente FTP y posteriormente verificar si la conexión se realiza correctamente o no. Programas como Rustcat nos facilitar enormemente esta tarea de comprobar si un determinado puerto está abierto o cerrado, con tan solo ejecutar un comando en el servidor que esté escuchando en un determinado protocolo TCP o UDP, y otro comando en el cliente o los clientes que van a conectarse, para comprobar si hay comunicación punto a punto.
Esta herramienta Rustcat dispone de características muy interesantes, como un completo histórico de comandos ejecutados, es muy fácil de utilizar, más que el popular Netcat que todos conocemos, además, soporta también el protocolo UDP (además de soportar TCP) y es capaz de utilizar colores con el objetivo de que sea realmente intuitivo visualmente de entender.
Por otro lado, hay que hablar de la compatibilidad. Un punto bastante importante en caso de que utilices una distribución de Linux u otra. En este caso, lo bueno de este software es que es compatible con todas las distribuciones de Linux, como Debian, Ubuntu y Arch Linux entre muchas otras.
No obstante, si tu sistema operativo no es compatible, siempre vas a poder descargar el código fuente y compilarlo directamente en tu equipo, de esta forma, te debería funcionar sin ningún problema. Por lo que es, sin duda alguna, otra de las características que te pueden gustar de esta herramienta en particular. Por último, este programa permite levantar una shell reversa, de esta forma, podremos ejecutar comandos de forma remota en la máquina que se esté conectando a nuestro servidor.
Ventajas de los servidores Linux con Rustcast
Como has podido ver, Rustcast en una herramienta de código abierto que se ejecuta en los servidores Linux. Esta ofrece una amplia variedad de características, las cuales traen algunos beneficios a los servidores que las utilizan. Algunas de estas son:
- Estabilidad y seguridad: Linux es un servicio muy conocido por ser de buena calidad en cuanto a la estabilidad y seguridad que nos proporciona. Lo cual significa que con Rustcast esto se verá aumentado, con menos probabilidades de que fallen o incluso de que lleguen a ser pirateados. Por otro lado, las actualizaciones de seguridad son regulares, y los parches para el kernel nos ayudan a proteger aún más nuestro servidor, y como consecuencia la información que se encuentra en este.
- Rendimiento: El rendimiento también es otra de las ventajas que nos ofrece en esos sistemas operativos. Esto es porque tienen gran capacidad de manejo sobre las altas cargas de trabajo, así como puede proporcionar una experiencia de usuarios en línea mucho más fluida.
- Escalabilidad: Esto es algo que todas las empresas deben tener muy en cuenta. Sobre todo, si tienen previsión de que van a crecer más en el futuro. Esto nos permite estar preparados para ese crecimiento, a la vez que se siguen manteniendo las mismas características en cuanto al rendimiento.
- Cotes: Como todos sabemos, Linux es gratuito, y de código abierto. Por lo cual no tendremos que lidiar con costes de licencias o soportes. Por lo cual, los costes son mucho menores, reducidos prácticamente al mantenimiento de los servicios que tenemos habilitados.
- Flexibilidad: En términos de configuración nos ofrece una gran flexibilidad. Esto permite a los administradores el poder ajustar el servidor Rustcat y adaptarlo a sus necesidades y requerimientos específicos.
- Soporte: Linux es ampliamente compatible con las tecnologías de contenedores. Esto quiere decir, que Rustcast se puede ejecutar en contenedores aislados, ayudando a mejorar la seguridad y la escalabilidad del sistema.
Instalación y puesta en marcha
Una vez que ya conoces las principales características y ventajas de esta herramienta para comprobar las conexiones en tu servidor Linux, entonces, ya puedes pasar a la instalación y puesta en marcha del programa. Algo que explicaremos con detalle. De esta manera no tendrás problemas en usarla por tu cuenta en cualquier momento.
En nuestro caso hemos utilizado un sistema operativo basado en Debian última versión para la descarga e instalación de este programa, por tanto, otras distribuciones basadas en Debian como Ubuntu o Kali Linux entre otras muchas, funcionará perfectamente y sin problemas. Así que no hay problema para que sigas todo este proceso desde otra distribución de Linux. Lo primero que tenemos que hacer es descargar el archivo .deb en nuestro sistema operativo de la siguiente forma:
wget https://github.com/robiot/rustcat/releases/latest/download/rustcat_amd64.deb
Tal y como podéis ver, se ha descargado este programa desde GitHub directamente, para bajar la última versión disponible del programa que es la v1.0.1 como veréis más adelante.
Una vez descargado, tendremos que instalarlo ejecutando el siguiente comando:
sudo apt install ./rustcat_amd64.deb
También podríamos instalarlo utilizando el popular comando dpkg, pero creemos que haciendo un «apt install» es más sencillo porque es ampliamente utilizado por todos los administradores de sistemas para instalar los programas desde los repositorios.
Una vez que esté instalado, ya podremos empezar a trabajar con él, ejecutando el comando «rc» seguido de las diferentes órdenes, para comprobar que funciona correctamente, podéis ejecutar la ayuda del programa con la siguiente orden:
rc --help
Una vez que lo hayamos ejecutado, veremos todas las órdenes disponibles:
Una vez que hemos comprobado que la instalación ha sido un éxito, vamos a ver todas las opciones de configuración que tenemos disponibles. Y es que, esta herramienta en concreto, lo cierto es que presenta toda una serie de funcionalidades con las que podrás sacar realmente un gran provecho al software.
Funcionamiento de Rustcat
Lo bueno de esta herramienta es que su funcionamiento es muy sencillo. Por lo que no te llevará mucho saber cómo funciona. Para que te hagas una idea, si quieres usar Rustcat tan solo es necesario ejecutar el comando «rc» seguido de las diferentes opciones y parámetros, concretamente, la sintaxis que debemos seguir es la siguiente: rc [opciones] [destino] [puerto]. En cuanto a las opcions disponibles, tenemos las siguientes:
- -h o –help mostrará la ayuda con el listado de opciones disponibles
- -v o –version mostrará la versión del programa, en nuestro caso, la última versión es la Rustcat v1.0.1.
- -H o –history mostrará todo el histórico de TCP
- -l activará el modo escucha para el servidor
- -p permite seleccionar el puerto
- -u permite configurar el modo UDP en lugar de protocolo TCP
- -r activa el modo de shell reversa
Una vez que ya hemos visto la sintaxis y todas las opciones disponibles, os vamos a poner algunos ejemplos básicos y otros más avanzados.
Si queremos ejecutar Rustcat en nuestro equipo (localhost) y en el puerto 33333 con TDP, podemos hacerlo de la siguiente forma:
rc -l -p 33333
También se podría poner de la siguiente forma:
rc -lp 33333
Si queremos ejecutar Rustcat en nuestro equipo (localhost) y en el puerto 33333 con UDP, podemos hacerlo de la siguiente forma:
rc -l -p -u 33333
También se podría poner de la siguiente forma:
rc -lpu 33333
Si queremos ejecutar Rustcat en nuestro equipo (localhost) y en el puerto 33333 con TDP, pero que tengamos un histórico de los comandos ejecutados, podemos hacerlo de la siguiente forma:
rc -l -H -p 33333
También se podría poner de la siguiente forma:
rc -lHp 33333
Si queremos escuchar en una dirección IP determinada y no en todas (0.0.0.0 significa todas las interfaces), deberemos indicarlo así:
rc -l 192.168.1.2 33333
Tal y como podéis ver, gracias a la shell reversa podremos ejecutar diferentes comandos en bash de manera fácil y rápida. Rustcat es una alternativa al popular Netcat muy interesante, aunque no viene instalada de forma predeterminada. Gracias a esta herramienta tan interesante, podremos comprobar si nuestro firewall está filtrando las comunicaciones desde el interior de la red local o desde el exterior, con el objetivo de probar diferentes puertos y ver si tanto TCP como UDP está abierto o cerrado.
Os recomendamos visitar el proyecto Rustcat en GitHub donde encontraréis el código fuente y todos los detalles sobre esta gran herramienta gratuita para nuestros servidores Linux.