8 Comando NetCat (NC) con ejemplos

8 Comando NetCat (NC) con ejemplos

Netcat (o Carolina del Norte en resumen) es una herramienta de línea de comandos de red simple pero potente utilizada para realizar cualquier operación en Linux relacionada con TCP, UDP, o Desastre-enchufes de dominio.

Netcat se puede usar para escanear de puerto, redirección de puertos, como oyente de puertos (para conexiones entrantes); También se puede usar para abrir conexiones remotas y muchas otras cosas. Además, puede usarlo como puerta trasera para obtener acceso a un servidor de destino.

En este artículo, explicaremos Netcat Comandos de uso con ejemplos.

Cómo instalar y usar NetCat en Linux

Para instalar el Paquete NetCat En su sistema, use el Administrador de paquetes predeterminado para su distribución de Linux.

$ yum instalación nc [en centos/rhel] $ dnf install nc [en Fedora 22+ y Rhel 8] $ sudo apt-get install netcat [en Debian/Ubuntu] 

Una vez Paquete NetCat Instalado, puede proceder más a aprender el uso de comando netcat En los siguientes ejemplos.

Escaneo de puertos

Netcat se puede utilizar para escaneo de puertos: para saber qué puertos son servicios abiertos y en ejecución en una máquina de destino. Puede escanear un solo o múltiple o una gama de puertos abiertos.

Aquí hay un ejemplo, el -z Conjuntos de opciones Carolina del Norte Simplemente escanear para escuchar a los demonios, sin enviarles ningún dato. El -V La opción habilita el modo verboso y -w Especifica un tiempo de espera para la conexión que no se puede establecer.

$ nc -v -w 2 z 192.168.56.1 22 #scan un solo puerto o $ nc -v -w 2 z 192.168.56.1 22 80 #Scan múltiples puertos o $ NC -V -W 2 Z 192.168.56.1 20-25 #can gama de puertos 
Escanee en busca de puertos abiertos en Linux

Transferir archivos entre servidores Linux

Netcat le permite transferir archivos entre dos computadoras o servidores de Linux y ambos sistemas deben tener Carolina del Norte instalado.

Por ejemplo, para copiar un archivo de imagen ISO de una computadora a otra y monitorear el progreso de la transferencia (usando la utilidad PV), ejecute el siguiente comando en la computadora remitente/servidor (donde existe el archivo ISO).

Esto se ejecutará Carolina del Norte en modo de escucha (-l bandera) en el puerto 3000.

$ tar -zcf -Debian -10.0.0-amd64-xfce-cd-1.ISO | PV | nc -l -p 3000 -q 5 

Y en la computadora receptor/cliente, ejecute el siguiente comando para obtener el archivo.

$ NC 192.168.1.4 3000 | PV | tar -zxf - 
Transferencia de archivos entre sistemas Linux

Crear un servidor de chat de línea de comandos

También puedes usar Netcat Para crear un servidor de mensajería de línea de comandos simple al instante. Como en el ejemplo de uso anterior, Carolina del Norte Debe instalarse en ambos sistemas utilizados para la sala de chat.

En un sistema, ejecute el siguiente comando para crear el servidor de chat escuchando en el puerto 5000.

$ NC -L -VV -P 5000 

En el otro sistema, ejecute el siguiente comando para iniciar una sesión de chat a una máquina donde el servidor de mensajería se ejecuta.

$ NC 192.168.56.1 5000 
Crear servidor de chat en la línea de comandos

Crear un servidor web básico

Con el -l opción de comando nc Se utiliza para crear un servidor web básico e inseguro para servir archivos web estáticos para fines de aprendizaje. Para demostrar esto, cree un .html archivo como se muestra.

Índice de $ vim.html 

Agregue las siguientes líneas HTML en el archivo.

  Página de prueba   

Servir este archivo utilizando el servidor HTTP básico de NetCat!

Guardar cambios en el archivo y salir.

Luego, sirva el archivo anterior a través de HTTP ejecutando el siguiente comando, que permitirá que el servidor HTTP se ejecute continuamente.

$ while :; do (echo -ne "http/1.1 200 OK \ r \ n "; índice de gato.html; ) | NC -L -P 8080; hecho 
Crear servidor web en la línea de comandos

Luego abra un navegador web y puede acceder al contenido utilizando la siguiente dirección.

http: // localhost: 8080 o http: // server_ip: 8080 
Prueba del servidor web

Tenga en cuenta que puede detener el Servidor netcat http presionando [Ctrl+ C].

Solucionar problemas de la conexión del servidor de Linux

Otro uso útil de Netcat es solucionar problemas de conexión del servidor. Aquí, puedes usar Netcat Para verificar qué datos está enviando un servidor en respuesta a los comandos emitidos por el cliente.

El siguiente comando recupera la página de inicio de ejemplo.comunicarse.

$ printf "get / http / 1.0 \ r \ n \ r \ n "| NC Texto.ejemplo.com 80 

La salida del comando anterior incluye los encabezados enviados por el servidor web que se puede utilizar para fines de solución de problemas.

Encuentre un servicio que se ejecute en el puerto

También puedes usar Netcat Para obtener pancartas de puerto. En este caso, le dirá qué servicio se está ejecutando detrás de cierto puerto. Por ejemplo, saber qué tipo de servicio se ejecuta detrás del puerto 22 En un servidor específico, ejecute el siguiente comando (reemplace 192.168.56.110 con la dirección IP del servidor de destino). El -norte bandera significa deshabilitar DNS o búsqueda de servicios.

$ nc -v -n 192.168.56.110 80 
Encuentre el servicio que se ejecuta en el puerto

Crear enchufes de transmisión

Netcat También admite la creación de enchufes de flujo de dominio unix. El siguiente comando creará y escuchará en un socket de transmisión de dominio unix.

$ nc -lu/var/tmp/mysocket & $ ss -lpn | GREP "/var/tmp/" 
Crear socket de transmisión en la línea de comando

Crear una puerta trasera

También puedes correr Netcat como puerta trasera. Sin embargo, esto requiere más trabajo. Si Netcat está instalado en un servidor de destino, puede usarlo para crear una puerta trasera, para obtener un símbolo del sistema remoto.

Para actuar una puerta trasera que necesitas Netcat para escuchar en un puerto elegido (e.puerto g 3001) en el servidor de destino y luego puede conectarse a este puerto desde su máquina de la siguiente manera.

Este es el comando destinado a ejecutarse en el servidor remoto donde el -d La opción deshabilita la lectura de Stdin y -mi Especifica el comando para ejecutarse en el sistema de destino.

$ NC -L -P 3001 -D -E CMD.exe 

Por último, pero no menos importante, Netcat se puede utilizar como proxy para diferentes servicios/protocolos, incluidos HTTP, SSH y muchos más. Para obtener más información, consulte su página Man.

$ hombre nc 

En este artículo, hemos explicado 8 prácticas Ejemplos de uso de comandos de NetCat. Si conoce algún otro caso de uso práctico, comparta con nosotros a través del formulario de comentarios a continuación. También puedes hacer una pregunta.