Come utilizzare Netcat per trasferire rapidamente file tra computer Linux

Verwendung von Netcat zum schnellen Übertragen von Dateien zwischen Linux-Computern
⏱️ 4 min read

Non mancano le soluzioni software che possono aiutarti a trasferire file tra computer. Tuttavia, se lo fai molto raramente, le soluzioni tipiche come NFS e SFTP (tramite OpenSSH) potrebbero essere eccessive. Inoltre, questi servizi sono permanentemente aperti alla ricezione e alla gestione delle connessioni in entrata. Se configurato in modo errato, potrebbe rendere il tuo dispositivo vulnerabile a determinati attacchi.

netcat, il cosiddetto “coltellino svizzero TCP / IP”, può essere utilizzato come soluzione ad-hoc per il trasferimento di file tramite reti locali o Internet. È anche utile per trasferire dati da / verso macchine virtuali o contenitori quando non includono la funzionalità pronta all’uso. Puoi persino usarlo come meccanismo di copia-incolla tra due dispositivi.

Come installare netcat su varie distribuzioni Linux

La maggior parte dei sistemi operativi basati su Linux viene fornita con questo preinstallato. Apri un terminale e digita:

Se il comando non viene trovato, installa il pacchetto che contiene netcat, una variante BSD. Esiste anche la versione GNU di netcat che contiene meno funzionalità. È necessario netcat sia sul computer che riceve il file che su quello che lo invia.

Su distribuzioni basate su Debian come Ubuntu o Linux Mint, installa l’utility con:

Con openSUSE, segui le istruzioni in questa pagina, specifico per la tua esatta distribuzione.

Su Arch Linux inserisci il seguente comando:

Sfortunatamente, la famiglia RedHat non include le varianti BSD o GNU di netcat. Per qualche strana ragione, hanno deciso di utilizzare nmap-ncat. Sebbene simili, alcune opzioni della riga di comando non sono disponibili, ad esempio -N. Ciò significa che dovrai sostituire una riga come nc -vlN 1234 > nc con nc -vl 1234 > nc in modo che funzioni su RedHat / Fedora.

Per installare ncat su RedHat:

E su Fedora:

Come utilizzare netcat per trasferire file tra computer Linux

Sul computer che riceverà il file, trova l’indirizzo IP utilizzato nella tua rete interna.

Dopo “src” vedrai l’indirizzo IP di rete interno del dispositivo. Se, per qualche motivo, i risultati sono irrilevanti, puoi anche provare:

netcat-trova-indirizzo-ip

Nello screenshot offerto come esempio, l’IP è 10.11.12.10.

Sullo stesso computer, quello che riceverà il file, digita questo comando:

netcat-ricezione-file

E sul computer che invierà il file, digita questo, sostituendo 10.11.12.10 con l’IP che hai scoperto in precedenza:

file-invio-netcat

I percorsi di directory e file possono essere assoluti o relativi. Un percorso assoluto è “/home/user/Pictures/file.png”. Ma se sei già in “/ home / user”, puoi utilizzare il percorso relativo, “Pictures / file.png”, come mostrato nello screenshot qui sopra.

Nel primo comando sono stati utilizzati due parametri: -v e -l. -v rende l’output dettagliato, stampando maggiori dettagli, in modo da poter vedere cosa sta succedendo. -l fa in modo che l’utility “ascolti” sulla porta 44444, essenzialmente aprendo un canale di comunicazione sul dispositivo ricevente. Se hai regole firewall attive, assicurati che non stiano bloccando la connessione.

Nel secondo comando, -N fa chiudere netcat al termine del trasferimento.

Normalmente, netcat emette nel terminale tutto ciò che riceve. > crea un reindirizzamento per questo output. Invece di stamparlo sullo schermo, invia tutto l’output al file specificato dopo >. < funziona al contrario, prendendo l’input dal file specificato invece di aspettare l’input dalla tastiera.

Se utilizzi i comandi precedenti senza reindirizzamenti, ad es. nc -vl 44444 e nc -N 10.11.12.10 44444, crei una “chat” rudimentale tra i due dispositivi. Se scrivi qualcosa in un terminale e premi Invio, apparirà sull’altro computer. In questo modo puoi copiare e incollare il testo da un dispositivo all’altro. stampa Ctrl + D (sul mittente) o Ctrl + C (ovunque) per chiudere la connessione.

Ottimizza i trasferimenti di file

Quando invii file di grandi dimensioni, puoi comprimerli al volo per accelerare il trasferimento.

Sul lato ricevente inserisci:

E sul mittente, inserisci quanto segue, sostituendo 10.11.12.10 con l’indirizzo IP del tuo dispositivo ricevente:

Invia e ricevi directory

Ovviamente, a volte potresti voler inviare più file contemporaneamente, ad esempio un’intera directory. Anche quanto segue li comprimerà prima di inviarli attraverso la rete.

Sul lato ricevente, usa questo comando:

netcat-ricezione-tar-gzipped-directory

Sul dispositivo di invio, utilizza:

netcat-invio-tar-gzipped-directory

Conclusione

Preferibilmente, lo useresti solo sulla tua rete locale. Il motivo principale è che il traffico di rete non è crittografato. Se lo inviate a un server, tramite Internet, i vostri pacchetti di dati potrebbero essere intercettati lungo il percorso di rete. Ma se i file trasferiti non contengono dati sensibili, non è un vero problema. Tuttavia, i server di solito hanno SSH preconfigurato per accettare connessioni FTP sicure e puoi utilizzare SFTP invece per i trasferimenti di file.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar di Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Potrebbero interessarti anche...

Subscribe
Notificami
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x