Que es netcat?
NetCat es una utilidad de red que permite a sus usuarios escribir y leer datos hacia y desde redes de computadoras. Comúnmente, usa TCP o UDP para esta función. NetCat facilita el envío y recibir mensajes en Linux y su naturaleza similar a Backens, lo que permite ser utilizado por otros scripts y programas. Además, es multiplataforma y generalmente preinstalado en muchas distribuciones populares de Linux como Debian, Ubuntu y Centos. Es una herramienta útil que hace que el intercambio de información, o más en general, las redes de computadora, posibles y fáciles.
Instalación de NetCat
Echemos un vistazo a cuáles son los conceptos básicos de NetCat y cómo puede comenzar a usarlo para las redes. Como mencionamos anteriormente, se preinstalan principalmente en Ubuntu (la distribución de Linux que usaremos para demostrar el uso de NC) y otros sistemas de Linux populares, por lo que no necesitará instalarlo probablemente. Sin embargo, si es un usuario de CentOS 7/8 o Redhat, el siguiente tutorial breve sobre su instalación es para usted.
El primer paso es asegurarse de tener el comando YUM ya instalado en su computadora, ya que eso es lo que se utilizaremos principalmente para instalar NetCat. Dicho esto, a continuación, debe actualizar todos sus paquetes antes de continuar.
$ Yum Update -y
Una vez hecho esto, todo lo que queda por hacer es instalar el paquete NetCat. Ejecute el siguiente comando para hacerlo.
$ yum instalación -y nc
Por último, podría verificar si la instalación fue sin problemas ejecutando un comando rpm.
$ rpm -qa | grep -i rmap -ncat
En Ubuntu, si por alguna razón no lo tiene preinstalado, ejecute el comando a continuación para obtenerlo.
$ sudo apt instalación netcat
Eso debería ser para las instrucciones de instalación. Cuando esté seguro, tiene NetCat en ejecución en su sistema Linux, continúe con la siguiente sección.
Cómo usar NetCat?
Si usted es un principiante de Linux o alguien que nunca ha usado NetCat antes, puede ser ligeramente confuso e intimidante al principio. Pero no te preocupes, ya que vamos a guiarte a través de cada paso del proceso. Entonces, en primer lugar, ¿cuál es la sintaxis general del comando netcat??
$ nc [-46cddfhklnnrstuuvz] [-c certFile] [-e nombre] [-h hash] [-i longitud] [-i intervalo] [-k keyfile] [-m ttl] [-m minttl] [-o longitud ] [-o staplefile] [-p proxy_username] [-p source_port] [-r Cafile] [-s Source] [-t Palabra clave] [-V rtable] [-w Timeout] [-x proxy_protocol] [-x proxy_address [: puerto]] [destino] [puerto]
Es cierto que eso parece aterrador si recién está comenzando con las redes de computadora. Permítanos simplificarlo un poco y llevarlo a un nivel doméstico y más accesible.
$ NC [Opciones] Puerto de host
Eso es mejor. Ahora, no usará todas las opciones al mismo tiempo, por lo que los comandos con los que vamos a tratar no serán tan complicados. El objetivo principal de este tutorial es mostrarle cómo puede enviar y recibir mensajes con NetCat, a los que llegaremos tan pronto como se familiarice con los conceptos básicos.
Tenemos tres argumentos en la sintaxis general, a saber, opciones, host y puerto. Por defecto, NetCat establecerá una conexión TCP con el host y el puerto que ingrese, pero puede cambiarlo a UDP pasando -U al comando, como se muestra a continuación.
Puerto de host de $ NC -U
A continuación, podemos probar si NetCat funciona correctamente o no tratando de conectarse a Google.
$ nc -vz google.com 443
Aquí, -V especifica el nivel de verbosidad, Z representa el modo de entrada/salida cero, Google es el host y 443 es el puerto. Bastante simple, correcto?
Configuración de un servidor de chat
Ahora que repasamos los conceptos básicos de NetCat y tenemos una buena comprensión de cómo funciona, es hora de que comencemos a configurar un servidor de chat. Es más simple de lo que piensas. Para una red bidireccional, necesitaremos un servidor y un cliente. Una vez que el servidor se está ejecutando, estamos en el negocio tan pronto como el cliente se conecta a él.
Podemos iniciar un servidor NetCat en modo de escucha ejecutando el siguiente comando. (-p especifica el puerto)
$ NC -L -P 12345
Para fines de demostración, configuraremos el servidor y el cliente en la misma computadora, lo que hace que el nombre de host local sea el nombre de host. Ahora para conectarnos al servidor, debemos ingresar en modo cliente. Esto se puede hacer con un comando con la sintaxis general de
$ NC HostName Port
Conectemos el nombre de host y el puerto de nuestro servidor previamente definido ejecutando el siguiente comando.
$ NC Localhost 12345
Con eso hecho, el servidor de chat está listo y listo para funcionar. Todo lo que queda es enviar y recibir mensajes de un lado a otro entre el servidor y el cliente. Veamos cómo hacer eso.
Enviar y recibir mensajes
Como mencionamos anteriormente, el servidor y el cliente, en nuestro caso, están en la misma máquina. Eso significa que podemos enviar y recibir mensajes a través de diferentes ventanas de terminal e ingresar diferentes modos: servidor y cliente. Entonces, iniciemos otra ventana de terminal y comencemos a enviarnos algunos mensajes de texto.
Todo lo que tiene que hacer es escribir su mensaje y presionar Enter; Esto se muestra en las imágenes a continuación.
También hay otra forma de hacerlo, lo que puede ser más corto que el método descrito anteriormente. Este método utiliza la función Echo para enviar mensajes. La sintaxis general de esta solución de comunicación es la siguiente.
$ echo [texto] | puerto host de NetCat
Similar, pero no lo mismo. En la opción de texto, puede ingresar dígitos, caracteres, cadenas; Tu dilo. Entonces, por ejemplo, si quisiera enviar el dígito 2 al servidor localhost que acabamos de configurar en el puerto 12345, escribiría:
$ Echo 2 | Netcat localhost 12345
Y eso es. Puede enviar y recibir mensajes con NetCat a través de cualquiera de los métodos descritos como ambos funcionan bien; Es una cuestión de elección personal más que nada.
Conclusión
En esta guía, inicialmente describimos qué es NetCat, cómo instalarla y sus fundamentos. Más adelante, mostramos cómo podría configurar un servidor de chat y comenzar a enviar y recibir mensajes en poco tiempo. Con suerte, habrá aprendido cómo puede usar NetCat para establecer contactos con otros sistemas de Linux.