Usare netcat per passare file tra macchine GNU/Linux o Unix
Postato da ROb | nella categoria Linux | martedì, 18 maggio 2010
2
Esistono mille modi per passare un file da un server (o un pc) ad un altro.
I più comuni sono:
- ftp
- samba
- scp – ssh
- droopy (neanche tanto comune ma citato perché ci avevo già scritto in passato un articolo)
In alcuni casi però si ha l’esigenza di farlo in pochissimo tempo e possibilmente senza nessuna configurazione.
Usiamo allora netcat, il famoso coltellino svizzero della rete!
Scegliamo una porta tcp/ip per lo scambio, in questo caso la 11111 .
Nel PC in cui vogliamo che il file sia depositato usiamo il comando:
nc -l -p 11111 -vv > /home/<user>/Desktop/file_destinazione
Nel PC in cui è presente il file da passare usiamo il comando:
nc <ip_pc_destinazione> 11111 -vv < /home/<user>/Desktop/file_sorgente
In questo modo sfruttando il comando nc (o netcat) abbiamo passato il file
Ovviamente il tutto senza alcuna protezione, quindi fate attenzione a non lasciare il primo dei due comandi in sospeso… è una porta aperta per parlare con il vostro PC.
Per essere sicuri che tutto funzioni controllare però di avere a disposizione il comando nc e che la porta 11111 sia aperta nei firewall sorgente e destinazione.

ciao ho notato che lanciando il ’server’ nc e poi facendo un portscan con nmap sull’ip sul quale è in ascolto nc, il servizio nc in ascolto viene abbattuto immediatamente… come mai?
Probabilmente viene inviata una sequenza di pacchetti tali per cui Netcat considera terminata la sessione, con il semplice telnet non accade.