Cómo transferir archivos entre dos computadoras usando los comandos nc y pv
Hola, compañeros lectores de Linux, les traigo otro gran artículo de nuestra serie de consejos y trucos de Linux, esta vez usaremos dos utilidades de Linux menos conocidas que debe conocer.
Este artículo explica cómo transferir archivos entre dos computadoras Linux usando nc. ( utilidad de red. y pv. ( visor de tuberías. , antes de continuar, permítanme explicar cuáles son estos dos comandos.
Transferir archivos entre servidores Linux
nc. significa Netcat. y, a menudo, se indica como“ Swiss Army Knife. ”Es una herramienta de red utilizada para la depuración e investigación de redes y también se utiliza para crear conexiones de red usando TCP o UDP, escaneo de puertos, transferencia de archivos y más. Está creado para ser un back-end confiable y se utiliza especialmente en programas y scripts, ya que puede generar casi cualquier tipo de conexión de red y tiene una serie de funciones integradas.
pv. en resumen Pipe Viewer es una herramienta basada en terminal para monitorear el progreso del envío de datos a través de una tubería, le permite al usuario ver el progreso de los datos con una barra de progreso, muestra el tiempo transcurrido, el porcentaje completado, la tasa de rendimiento actual, el total de datos transferidos y Tiempo estimado para completar el proceso.
Cómo monitorear el progreso de los datos usando pv (Pipe Viewer) Command
Ahora vayamos más allá y veamos cómo podemos combinar ambos comandos para transferir archivos entre dos computadoras Linux, para el propósito de este artículo usaremos dos máquinas Linux de la siguiente manera:
Máquina A con IP: 192.168.0.4 Máquina B con IP: 192.168.0.7
Nota:. Recomiendo encarecidamente no utilizar netcat. para enviar y recibir datos a través de la red pública, ya que no No use ningún inicio de sesión o autenticación, el único requisito es la IP del cliente y el número de puerto de escucha y el envío de datos a través de la red no está protegido, por lo que siempre está reservado para usuarios avanzados de Linux y se prefiere usar en una red local protegida.
freestar.config.enabled_slots.push
Situaciones donde la seguridad de los datos es más importante, entonces siempre use rsync sobre SSH o scp sobre SSH.
Ahora comencemos con un ejemplo realmente fácil de los comandos nc. y pv. pero antes de hacer eso, ambas utilidades deben estar instaladas en el sistema, si no, instálelas usando su respectiva herramienta de administración de paquetes de distribución como se sugiere:
# yum install netcat pv [En sistemas basados en RedHat. # dnf install netcat pv [En las versiones Fedora 22+. # apt-get install netcat pv [En Debian. y sus derivados]
¿Cómo transferir archivos entre dos máquinas Linux?
Supongamos que desea enviar un archivo grande llamado CentOS-7-x86_64-DVD-1503.iso desde la computadora A. a B. a través de la red, lo más rápido una forma de lograr esto usando nc. una utilidad de red utilizada para enviar archivos a través de la red TCP, pv. para monitorear el progreso de los datos y la utilidad tar. para comprimir datos para mejorar la velocidad de transferencia.
En Linux Machine A
Primero inicie sesión en la máquina ‘ A. con la dirección IP 192.168.0.4 y ejecute el siguiente comando.
# tar-zcf-CentOS-7-x86_64-DVD-1503.iso | pv | nc-l-p 5555-q 5
Comando Netcat para enviar archivos
Déjame explicarte la opción s utilizados en el comando anterior:
- tar-zcf. = tar es una utilidad de archivo de cinta utilizada para comprimir/descomprimir archivos y argumentos -c. crea un nuevo archivo .tar, -f. especifica el tipo de archivo y -z. filtra el archivo a través de gzip.
- CentOS-7-x86_64-DVD-1503.iso. = Especifique el nombre del archivo para enviar a través de la red, puede ser un archivo o una ruta a un directorio.
- pv. = Pipe Viewer para monitorear el progreso de los datos.
- nc-l-p 5555-q 5. = Herramienta de red utilizada para enviar y recibir datos a través de tcp y argumentos -l. usado para escuchar una conexión entrante, -p 555. especifica el puerto de origen a usar y -q 5. espera el número de segundos y luego sale.
En la máquina Linux B
Ahora inicie sesión en la máquina ‘ B. con la dirección IP 192.168.0.7 y ejecute el siguiente comando.
# nc 192.168.1.4 5555 | pv | tar-zxf-
Transferir datos usando el comando nc y pv
Eso es todo, el archivo se transfiere a la computadora B. y podrá observar la rapidez con la que se realizó la operación. Hay muchos otros usos excelentes de los comandos nc. (aún no cubiertos, pero escribiremos sobre ellos pronto) y pv. (ya cubrimos un artículo detallado sobre esto aquí)., si conoce algún ejemplo, ¡háganoslo saber a través de los comentarios!