Instalación de NetCat en Linux
Para comenzar, en las distribuciones de Linux con sede en Debian, ejecute el comando a continuación para instalar NetCat.
sudo apt install netcatEn las distribuciones de Linux basadas en Red Hat, puede instalar NetCat ejecutando el comando a continuación.
yum instalación -y ncEscanear un puerto usando NC
NetCat o NC se pueden usar para escanear puertos. La sintaxis para escanear un solo puerto es el siguiente.
NC -ZVNComo puede ver, la sintaxis llama a NetCat con las opciones elegidas (explicadas a continuación) seguido de la dirección IP de destino y el puerto de destino, como se muestra en el siguiente ejemplo práctico.
NC -ZVN 172.67.209.252 80Dónde:
Escaneo de múltiples puertos con NC
También puede usar NetCat/NC para escanear múltiples puertos. La sintaxis es la misma que se muestra anteriormente; Simplemente agregue un espacio y los puertos que desea escanear, como se muestra en el ejemplo a continuación en el que se escanean los puertos 80, 22 y 53.
NC -ZVN 172.67.209.252 80 22 53Rangos de puerto de escaneo con NetCat
Puede escanear rangos de puertos implementando un guión, como se muestra en el siguiente ejemplo en el que se escanean todos los puertos de 80 a 89 (incluidos).
NC -ZVN 172.67.209.252 80-89Banner agarrando con Netcat
Banner Grabing es una técnica utilizada para aprender la versión de software que se ejecuta en un objetivo. Los administradores del sistema lo usan para mantener un inventario de software en el dispositivo. Los piratas informáticos también lo usan como parte del proceso de huella.
Banner Agarrando analiza las respuestas de la red para tratar de adivinar o aprender el software detrás de nuestro objetivo. El siguiente ejemplo muestra cómo usar NC o NetCat sin opciones (o usar el -V opción) conduce a la información sobre la versión de servidor FTP de destino.
NC 198.54.116.197 21Como puede ver, NetCat detectó puro-ftpd en el objetivo. La salida también nos permite saber que el inicio de sesión anónimo está prohibido, y el servidor admite IPv6.
NC 172.67.209.252 80Transferencia de archivos usando NC (directorio actual)
NetCat (NC) también es útil para transferir archivos entre dispositivos. En el siguiente ejemplo, un archivo llamado LinuxHint.TXT se transferirá de un dispositivo a otro.
El dispositivo al que se enviará el archivo en el dispositivo receptor, ejecute el comando a continuación, donde la opción -l le dice a NetCat que permanezca en modo de escucha esperando conexiones entrantes. La opción -p define el número de puerto y > [Nombre de archivo] Especifica el archivo que se recibirá. Ejecute el comando a continuación en el dispositivo receptor, reemplazando Linuxhint.TXT con el nombre del archivo que desea transferir.
NC -L -P 9899> Linuxhint.TXTLa computadora desde la cual se envía el archivo en el dispositivo de envío, ejecute el comando a continuación donde -w La opción especifica el tiempo de espera (2 segundos en este caso). En el dispositivo de envío, el puerto no requiere la opción -p. El < [FileName] Especifica el archivo que se enviará.
NC -W 2 192.168.1.102 9899 < linuxhint.txtComo puede ver en el dispositivo de destino, el archivo se transfirió correctamente.
LSEnviar archivos almacenados en un directorio diferente usando NC
El ejemplo anterior muestra cómo enviar un archivo que se almacena en el directorio actual. Si el remitente quiere enviar un archivo que no se almacene en el directorio actual, puede especificar una ruta para enviar.
En el dispositivo receptor, ejecute el mismo comando del ejemplo anterior sin cambios, como se muestra a continuación.
NC -L 9899> Linuxhint.TXTEl único cambio que aplicaremos en el dispositivo de envío es la inclusión del directorio donde se almacena el archivo. Para este ejemplo, moví el Linuxhint.TXT hacia Linuxhintdir directorio. Como puede ver, toda la ruta al archivo se especifica como < linuxhintdir/linuxhint.txt, where Linuxhintdir es un subdirectorio del directorio actual.
NC -W 2 192.168.1.102 9899 < linuxhintdir/linuxhint.txtEl archivo que desea enviar está dentro de su directorio de inicio, y su directorio actual es diferente; El comando ejecutado en el dispositivo remitente sería el siguiente.
NC -W 2 192.168.1.102 9899 < /home/linuxhint/linuxhint2.txtRecibir archivos y almacenarlos en un directorio diferente usando NC
Al contrario del escenario anterior, es posible que el receptor no desee almacenar el archivo transferido en el directorio actual. Al habilitar el modo de escucha para las conexiones entrantes en la computadora receptora, puede definir el directorio para almacenar archivos. La sintaxis es la misma que cuando se envía archivos desde un subdirectorio; Simplemente especifique el subdirectorio y el nombre del archivo como se muestra a continuación.
NC -L -P 8999> Subdirectorio/Linuxhint.TXTEn la segunda computadora, use los mismos comandos explicados anteriormente; En este ejemplo, el archivo para enviar se almacena en el hogar, no en el directorio actual.
NC -W 2 192.168.1.102 9899 < /home/linuxhint/linuxhint2.txtY como puede ver, el archivo se almacena en el directorio definido. Además, el nombre del archivo cambió de Linuxhint2.TXT a Linuxhint.TXT como se define en el comando de computadora receptor.
Mostrando el progreso de la transferencia de archivos cuando se usa NC
El PV La implementación del comando muestra el progreso de la transferencia a través de la tubería. Con este comando, podemos agregar información de progreso al usar NetCat.
Instalar PV En las distribuciones de Linux con sede en Debian, ejecute el comando a continuación.
sudo apt install pvAgregue una tubería después del puerto en el dispositivo receptor, seguido de la PV Comando, la ruta y el nombre de archivo que desea guardar, como se muestra en el ejemplo a continuación.
NETCAT -L 9899 | PV> Linuxhint2.TXTEnvíe el archivo desde el dispositivo del remitente:
Verá el progreso en el dispositivo receptor donde agregó el PV dominio.
Comprimir y transferir archivos en la marcha con NC
También puede comprimir archivos al enviar a través de NetCat con una sola ejecución utilizando Pipe. El siguiente ejemplo muestra cómo comprimir el Linuxhint2 directorio y enviarlo a través de NetCat.
Deje a NC escuchando las conexiones entrantes; Puede implementar el comando PV para ver el progreso.
NC -L -P 9899 | PV> Linuxhint2En el remitente, comprime el directorio o el archivo utilizando el comando alquitrán con las opciones adecuadas y se muestra a continuación. Luego agregue la tubería y envíe como normal sin especificar el archivo, ya especificado al comprimir.
Tar CFVZ - Linuxhint2 | NC -W 2 192.168.1.102 9899Como puede ver, el archivo se transfirió y se extrajo correctamente.
Transferir un disco o partición completo usando NC
El último ejemplo de este tutorial muestra cómo transferir una partición o disco completo usando NetCat.
En el dispositivo receptor, ejecute el comando a continuación.
nc -p 9899 -l | bzip2 -d | DD de =/dev/sda1En el remitente, escriba el siguiente comando, reemplace /dev /sda1 para el disco o la partición que desea transferir.
bzip2 -c /dev /sda1 | NC 192.168.1.102 9899Conclusión
NetCat es una herramienta muy básica que debe saber cualquier usuario o usuario de Linux que trata con redes de redes. Usarlo es bastante simple, como se muestra en este tutorial. NetCat está diseñado para ser utilizado por otros programas o scripts; Es una buena ayuda para los desarrolladores.
Espero que este tutorial de Netcat explique 10 usos diferentes. Siga siguiendo la pista de Linux para obtener más consejos y tutoriales de Linux.