Copiar archivos en red fácilmente sin Samba ni NFS
Estando en el instituto me hizo falta compartir un archivo entre dos equipos de la intranet pero por desgracia ni tenía el pendrive a mano (me lo dejé en casa) ni tengo permisos para instalar (ni configurar) los servicios Samba o NFS ni el tamaño era pequeño para poder enviarlo por correo electrónico.
Por fortuna recordé a un viejo amigo (Netcat) al que muchos llaman la navaja suiza de TCP/IP. Sirve para muchísimas cosas (no todas legales) pero en esta ocasión me sirvió para solventar el problema anterior (que no es poco).
Operaciones en el equipo que tiene el fichero que nos interesa
Desde la terminal lanzaremos el comando
nc -l -p 1351 < un_fichero_cualquiera.txt -q 0
donde
- un_fichero_cualquiera.txt es el fichero que queremos pasar al otro equipo
- -l coloca a netcat en modo “escucha” hasta que el otro equipo retire el fichero que le estamos ofreciendo
- -p 1351 permite indicar el puerto en el que el equipo ofrecerá el fichero (éste dato lo vas a necesitar en el otro ordenador). NOTA: los puertos por debajo de 1024 requieren privilegios de administrador.
- -q 0 Indica el tiempo (en segundos) a esperar antes de cerrar la conexión una vez transferido el fichero
Operaciones en el equipo donde queremos obtener el fichero
Una vez realizado el proceso anterior (y anotados tanto el nombre del fichero como el puerto de escucha) lanzamos en el otro equipo un
nc servidor 1351 > otro_nombre_fichero.lst
donde:
- 1351 es el número de puerto que definimos en el equipo que contiene el fichero que nos interesa
- otro_nombre_fichero.lst es cómo (y dónde si indicas una ruta) queremos que se guarde el fichero del otro equipo. Observa que he cambiado el nombre pues no importa para el correcto funcionamiento (no tienen que coincidir aunque… si te hace ilusión…)
Conclusión
Un método rápido y sencillo que sin necesidad de tener permisos de administrador (root) nos permitirá intercambiar ficheros de cualquier tamaño y tipo entre equipos de una red.
El único requisito para ello es que netcat (alias la navaja suiza) esté instalado en ambos equipos.
10 comentarios hasta ahora
Replica







Interesante, si no te importa me lo copio para…
Jejeje, es broma. En serio, un articulo muy curioso.
Holaa!! Yo estoy intentando conectar 2 maquinas con linux(ubuntu) por medio de un firewire, me podrias ayudarr???
Sería un auténtico placer poder ayudarte.
Aunque no cuento con puerto firewire siempre que he querido poder hacer transferencia utilizando un simple cable (usb, parelelo, serie, rj45, …) he optado por comprar un cable “cruzado”.
Por lo que parece para la tecnología IEEE1394 NO existe dicha posibilidad
Por fortuna parace que existe una solución relativamente sencilla al problema.
Un saludo y mucha suerte (ya nos contarás cómo te ha ido)
Hola a todos,
otra utilidad es establecer una conexión directa entre dos ordenadores a traves de internet, de esta forma se puede simular un rudimentario chat entre dos personas.
En el primer pc se crea el “servidor”:
netcat -l -p 5000
En el otro ordenador se creará el “cliente”:
netcat mi-ip 5000
Y ya tienes funcionando un chat ligero, rápido y útil.
Saludos
En ocasiones veo a @Jaimes por todos lados
@Arturo gracias por el apunte; ya me has “fastidiado” un post
en serio, se te agradece (trabajo que me ahorras) aunque en lugar de MI-IP deberías decir SU-IP, entendiendo por ésta la IP del equipo “servidor” ¿no?
Un saludo y gracias a los dos
Hola a todos,
correcto, ha sido un lapsus, debe ser SU-IP. Muchas gracias por el apunte.
Lamento haberte pisado el post, pero esta vez he sido más rápido que el rayo… 8-D
Saludos
¿Por qué no usas scp? Es sobre ssh y por lo tanto encriptado. scp archivo usuario@maquina:/path/to/folder.
Saludos.
Pues por falta de permisos básicamente y por no estar instalado en los equipos
Completamente de acuerdo: es la solución ideal desde el punto de vista de la seguridad
Porque decís que algunos usos son ilegales? :S
el uso es 100% legal, los propósitos son otra cosa
Tienes toda la razón del mundo @takeDown: “conocimiento al poder” o como dijo el otro: “el conocimiento os hará libres”
Un saludo compañero y gracias por la matización