Cómo usar Netcat para transferir archivos rápidamente entre computadoras con Linux

No hay escasez de soluciones de software que puedan ayudarlo a transferir archivos entre computadoras. Sin embargo, si hace esto muy raramente, las soluciones típicas como NFS y SFTP (a través de OpenSSH) pueden ser excesivas. Además, estos servicios están permanentemente abiertos para recibir y procesar las comunicaciones entrantes. Si se configura incorrectamente, esto podría hacer que su dispositivo sea vulnerable a ciertos ataques.

netcat, la llamada navaja suiza TCP/IP, se puede utilizar como una solución dedicada para transferir archivos a través de redes locales o Internet. También es útil para mover datos hacia/desde máquinas virtuales o contenedores cuando no se incluye en la característica. Incluso puede usarlo como un mecanismo de copiar y pegar entre dos dispositivos.

Linux | Netcat 1 | netcat destacado DzTechs

Cómo instalar netcat en diferentes distribuciones de Linux

La mayoría de los sistemas operativos Linux vienen preinstalados con netcat. Abra la Terminal y escriba:

netcat
Linux | Netcat 2 | comando netcat no encontrado DzTechs

Si no encuentra el comando, instale el paquete que contiene netcat, que es la variante BSD. También hay una versión GNU de netcat que tiene menos funciones. Necesita netcat tanto en la computadora que recibe el archivo como en la que lo envía.

En distribuciones basadas en Debian como Ubuntu o Linux Mint, instale la utilidad con:

sudo apt install netcat-openbsd

Con openSUSE, siga las instrucciones en Esta página precisamente para su distribución.

En Arch Linux, ingrese el siguiente comando:

sudo pacman -S openbsd-netcat

Desafortunadamente, la familia RedHat no incluye variantes BSD o GNU de netcat. Por alguna extraña razón, decidieron optar por nmap-ncat. Aunque algunas opciones de la línea de comandos son similares, no están disponibles, por ejemplo, -N. Esto significa que tendrá que reemplazar una línea como nc -vlN 1234 > nc con nc -vl 1234 > nc para que funcione en RedHat/Fedora.

instalar ncat En RedHat:

sudo yum install nmap-ncat

Y en Fedora:

sudo dnf install nmap-ncat

Cómo usar netcat para transferir archivos entre computadoras Linux

En la computadora que recibirá el archivo, busque la dirección IP utilizada en su red interna.

ip route get 8.8.8.8

distancia "srcVerá la dirección IP de la red interna del dispositivo. Si, por alguna razón, los resultados no son relevantes, también puedes intentar:

ip address
Linux | Netcat 3 | netcat buscar dirección IP DzTechs

En la captura de pantalla que se muestra como ejemplo, la dirección IP es 10.11.12.10.

En la misma computadora, que recibirá el archivo, ingrese este comando:

nc -vl 44444 > pick_desired_name_for_received_file
Linux | Netcat 4 | netcat recibiendo archivo DzTechs

Y en la computadora que enviará el archivo, escriba esto y reemplace el número 10.11.12.10 Con la IP que descubriste antes:

nc -N 10.11.12.10 44444 < /path/to/file/you/want/to/send
Linux | Netcat 5 | netcat enviando archivo DzTechs

Las rutas de directorios y archivos pueden ser absolutas o relativas. El camino absoluto es/home/usuario/Imágenes/archivo.png. Pero si ya estás en Usuario doméstico“Puedes usar la ruta relativa”Imágenes / archivo.png”, como se muestra en la imagen de arriba.

En el primer comando se utilizaron dos parámetros: -v و - l، -v El detallado hace que la salida se imprima para obtener más detalles, para que pueda ver lo que está sucediendo. -l Hace que la herramienta "escuche" en el puerto 44444, esencialmente abriendo un canal de comunicación en el receptor. Si las reglas del firewall están activas, asegúrese de que no estén bloqueando la conexión.

En el segundo asunto, -N Marcas netcat Se cierra cuando finaliza la transferencia.

Normalmente, producirá netcat En Terminal que todos recibieron. > Crea una redirección para esta salida. En lugar de imprimirlo en la pantalla, envía toda la salida al archivo especificado después>. <Funciona a la inversa, tomando la entrada del archivo especificado en lugar de esperar la entrada del teclado.

Si está utilizando los comandos anteriores sin redireccionamientos, por ejemplo, nc -vl 44444 y nc -N 10.11.12.10 44444 Luego, puede crear un "chat" rudimentario entre los dos dispositivos. Si escribe algo en una Terminal y presiona Entrar, aparecerá en la otra computadora. Así es como puede copiar y pegar texto de un dispositivo a otro. Haga clic en Ctrl + D (en el remitente) o Ctrl + C (en cualquier lugar) para cerrar la conexión.

Transferencia de archivos mejorada

Al enviar archivos grandes, puede comprimirlos fácilmente para aumentar la velocidad de transferencia.

En el extremo receptor ingrese:

nc -vl 44444 | gunzip> pick_desired_name_for_file

Y en el dispositivo emisor, ingrese lo siguiente y reemplace el número 10.11.12.10 La dirección IP de su receptor:

gzip -c /path/to/file/you/want/to/send | nc -N 10.11.12.10 44444

Enviar y recibir carpetas

Obviamente, a veces es posible que desee enviar varios archivos a la vez, por ejemplo, una carpeta completa. La siguiente pulsación también lo comprimirá antes de enviarlo a través de la red.

En el extremo receptor, use este comando:

nc -vl 44444 | tar zxv

Linux | Netcat 6 | netcat recibiendo directorio tar comprimido con gzip DzTechs

En el transmisor, utilice:

tar czp /path/to/directory/to/send | nc -N 10.11.12.10 44444
Linux | Netcat 7 | netcat enviando directorio tar comprimido con gzip DzTechs

Conclusión

Preferiblemente, solo usará esto en su red local. La razón principal es que el tráfico de la red no está encriptado. Si está enviando esto a un servidor, a través de Internet, sus paquetes de datos pueden ser interceptados a lo largo de la ruta de la red. Pero si los archivos que transfiere no contienen datos confidenciales, no es un problema real. Sin embargo, los servidores generalmente vienen con SSH preinstalado para aceptar conexiones FTP seguras, y puede usar SFTP en su lugar para transferir archivos.

DzTech

Soy ingeniero estatal con amplia experiencia en los campos de programación, creación de sitios web, SEO y redacción técnica. Me apasiona la tecnología y me dedico a brindar información de calidad al público. Puedo convertirme en un recurso más valioso para los usuarios que buscan información precisa y confiable sobre reseñas de productos y aplicaciones especializadas en diversos campos. Mi compromiso inquebrantable con la calidad y la precisión garantiza que la información proporcionada sea confiable y útil para la audiencia. La búsqueda constante de conocimiento me impulsa a estar al día con los últimos avances tecnológicos, asegurando que las ideas compartidas se transmitan de forma clara y accesible.
Ir al botón superior