Cómo usar el comando Netcat para leer y escribir datos en la red

Leer y escribir son las operaciones básicas que se pueden aplicar a los datos en todos los sistemas. TCP se abrevia como Protocolo de control de transmisión y es un protocolo de comunicación orientado a la conexión que facilita que las computadoras en una red envíen y reciban mensajes. Es el protocolo más utilizado en redes que emplean el Protocolo de Internet (IP); a veces se le denomina TCP/IP cuando se usa de forma conjunta. UDP, abreviado como User Datagram Protocol, es un protocolo de comunicación utilizado para construir conexiones de baja latencia y tolerancia a pérdidas entre aplicaciones en Internet. En este artículo, analizaremos el comando “Netcat”, que se usa para leer y escribir discos en redes que usan los protocolos TCP y UDP en Ubuntu 20.04 (SO Linux).

La aplicación de utilidad Netcat incluye varias instrucciones para administrar redes y monitorear el nivel de datos entre sistemas. Los protocolos TCP y UDP son la base de las redes informáticas, como Internet. Se considera la navaja suiza de las herramientas de red y se encuentra entre las herramientas más eficaces en el arsenal de los administradores de redes y sistemas. Netcat es un programa multiplataforma que se ejecuta en Linux, Windows, Mac OS X y BSD. Netcat se puede utilizar para depurar y analizar problemas de conectividad, así como para buscar puertos abiertos, transferir datos y actuar como proxy.

Uso de Netcat para leer y escribir datos en la red

En macOS y distribuciones comunes de Linux como Ubuntu y Debian , el paquete Netcat viene preinstalado. Algunas de las utilidades de “Netcat” se mencionan a continuación.

  • Realice un escaneo de puertos a través de Netcat
  • Envío de archivos a través de Netcat
  • Crear un servidor web a través de Netcat

Sintaxis:

                              
                                $ nc [options] host port
                              
                            

En los sistemas Ubuntu se usa “nc” o “netcat”.

Se establecerá una conexión TCP para proporcionar host/hosts y puerto/puertos por Netcat por defecto. Utilice la opción -u si desea crear una conexión UDP.

                              $ nc -u host port
                            

Realice un escaneo de puertos a través de Netcat

Una de las aplicaciones más frecuentes de Netcat es el escaneo de puertos. Tiene la opción de escanear un solo puerto o un rango de puertos.

TCP:

Buscar puertos abiertos:

Para escanear los puertos abiertos en el rango de 30 a 60 usando Netcat, ejecute el comando que se menciona a continuación:

                              
                                $ nc -z -v 10.0.2.15 30-60
                              
                            

-con le indicará a NC que solo busque puertos abiertos y que no les envíe ningún dato.

-v dice la información sobre verbose.

Filtre el resultado usando el comando grep:

                              
                                $ nc -z -v 10.0.2.15 2>&1 | grep succeeded
                              
                            

Ninguna conexión fue exitosa en este rango.

UDP:

Simplemente agregue el parámetro -u al script para verificar los puertos UDP en el comando mencionado a continuación:

                              
                                $ nc -z -v -u 10.0.2.15 30-60
                              
                            

Texto Descripción generado automáticamente

No hay puerto UDP en este rango.

Envío de archivos a través de Netcat

Al establecer un modelo básico de cliente o servidor, Netcat puede usarse para transportar datos de un host a otro. Esto se logra utilizando la opción -l en el host receptor para configurar Netcat para escuchar en un puerto determinado, luego creando una conexión TCP estándar desde varias computadoras y transfiriendo el archivo a través de ella.

Ejecute el comando mencionado a continuación en el extremo receptor, que abre el puerto 6666 para las conexiones entrantes y desvía el resultado de salida al archivo:

                              
                                $ nc -l 6666 > linux1.txt
                              
                            

Interfaz gráfica de usuario, sitio web Descripción generada automáticamente

Linux1.txt es el nombre de archivo que se abrirá para escribir, y puede cambiar el nombre de archivo de acuerdo con sus requisitos.

Ahora el host receptor se conectará al host emisor y enviará el archivo:

                              
                                $ nc google.com 6666 < linux2.txt
                              
                            

Interfaz gráfica de usuario, descripción de texto generada automáticamente

Creación de servidor web a través de Netcat

En primer lugar, cree un archivo HTML simple “linux, html” usando el comando nano:

                              
                                $ nano linux.html
                              
                            

Texto Descripción generado automáticamente

Escriba el contenido mencionado a continuación o puede agregar contenido de acuerdo con sus requisitos siguiendo las reglas del archivo html.

                              
                                <html>
                              
                              
                                 <head>
                              
                              
                                 <title> Linux<title>
                              
                              
                                 <head>
                              
                              
                                <html>
                              
                            

Interfaz gráfica de usuario, descripción de texto generada automáticamente

Guardar con “Ctrl+S” y close el archivo con “Ctrl+X”.

                              
                                $ printf 'HTTP/1.1 200 OKnn%s' "$(cat linux.html)" | netcat -l 8888
                              
                            

Texto Descripción generado automáticamente

Ahora en el navegador, puede acceder al archivo mediante el enlace mencionado a continuación:

                              
                                https://server-ip:8888
                              
                            

Conclusión:

Netcat es una utilidad básica de Linux que utiliza los protocolos TCP/UDP para leer y escribir datos a través de conexiones de red. Está destinado a ser una herramienta de back-end confiable que puede ser operada directamente o simplemente por otras aplicaciones y programas. Este artículo brinda información sobre el uso de Netcat con el protocolo TCP y UDP y algunos otros usos, como escanear puertos, enviar archivos y crear un servidor web.

Related Posts