Netcat
Netcat è un programma open source a riga di comando di comunicazione remota, utilizzabile sia col protocollo TCP sia col protocollo UDP.
Netcat software | |
---|---|
Genere | Accesso remoto |
Sviluppatore | *Hobbit* |
Data prima versione | 28 ottobre 1995 |
Ultima versione | 1.10 (20 marzo 1996) |
Sistema operativo | Unix-like |
Licenza | licenza libera (licenza libera) |
Sito web | nc110.sourceforge.net/ |
Netcat è stato pensato per essere utilizzato facilmente da altri programmi o scripts. Allo stesso tempo può essere uno strumento utilissimo per l'amministrazione di rete e di investigazione.
Nel 2000 Netcat fu votata da www.insecure.org come il secondo migliore programma per la sicurezza informatica. Anche nel 2003 e nel 2006 raggiunse il quarto posto per la stessa categoria. Netcat viene spesso chiamato come "il coltellino svizzero delle reti TCP/IP". Può essere utilizzato per moltissime funzioni: eseguire una scansione sulle porte di un computer remoto o ascoltare in locale, trasferire file, essere usato come una chat o persino per la creazione di una backdoor.
Licenza
modificaNetcat è un programma open source con licenza libera. La licenza originale allegata al programma recita:
«Netcat is entirely my own creation, although plenty of other code was used as examples. It is freely given away to the Internet community in the hope that it will be useful, with no restrictions except giving credit where it is due. No GPLs, Berkeley copyrights or any of that nonsense. The author assumes NO responsibility for how anyone uses it. If netcat makes you rich somehow and you're feeling generous, mail me a check. If you are affiliated in any way with Microsoft Network, get a life. Always ski in control. Comments, questions, and patches to hobbit@avian.org.»
«Netcat è per intero una mia creazione, sebbene abbia usato molti altri codici come esempio. Con la speranza che possa essere utile è distribuito gratuitamente alla comunità di Internet senza restrizione alcuna, tranne l'attribuzione del merito a chi di dovere. Non ha licenza GPL, Berkley o altre insensatezze. L'autore non si assume NESSUNA responsabilità riguardo a come sarà usato. Se Netcat dovesse farti arricchire in qualche modo e ti sentissi generoso, spediscimi un assegno. Se siete legati in qualche modo alla Microsoft Network, rifatevi una vita. Siete sempre in tempo. Per commenti, domande e aggiornamenti hobbit@avian.org»
Modalità d'uso
modificaLe modalità d'uso di Netcat sono essenzialmente due. Per connettersi a un computer remoto nc [opzioni] indirizzo.computer.remoto porta. Per ricevere localmente nc -l -p porta [opzioni].
Le opzioni di Netcat sono:
- -c shell commands come -e configura un comando /bin/sh da eseguire alla connessione
- -e filename configura un programma da eseguire alla connessione
- -b consente broadcasts
- -g gateway source-routing gateway
- -G num source-routing pointer: 4, 8, 12, ...
- -h apre l'help
- -i secs intervallo per l'invio di dato o lo scan di porte
- -k imposta l'opzione keepalive sul socket
- -l modalità ascolto, per connessioni in entrata
- -n indirizzo IP numerico
- -o file output esadecimale del traffico
- -p port numero della porta locale
- -r randomizza porte locali e remote
- -q secs alla fine della trasmissione dei dati termina dopo i secondi impostati
- -s addr imposta l'indirizzo sorgente utilizzato nella creazione della connessione
- -T tos imposta il protocollo (predefinito TCP)
- -t comunicazione TELNET
- -u usa il protocollo UDP
- -v fornisce informazioni (due volte fornisce più informazioni)
- -w secs Imposta il tempo di inattività dopo il quale terminare
- -z Imposta a zero il flag di I/O. Appena la porta si sarà aperta sarà immediatamente spenta e chiusa. (per lo scan)
Esempi
modificaClient di posta
modificaNetcat può essere usato come client di posta, esattamente come telnet.
nc mail.server.net 25
Simulare un webserver contenente una singola pagina
modificaPer versioni Windows:
( echo "HTTP/1.0 200 Ok"; echo; cat pagina.htm; ) | nc -q 1 -l -p porta
oppure su terminale Linux:
while true; do nc -l -p porta -q 1 < pagina.htm; done
o per la versione OpenBSD:
while true; do nc -l porta < pagina.htm; done
Scanner delle porte di un computer remoto
modificanc indirizzo.computer.remoto porta1-porta2 -v -z
l'indirizzo potrà essere un ip o un host, Netcat proverà a connettersi con tutte le porte comprese nel range stabilito.
Trasferimento di file
modificaPer il computer che riceve:
nc -l -p porta >file
Per il computer che invia
nc indirizzo.computer.remoto porta <file
Chat tra due computer
modificanc -l -p porta -v
nc indirizzo.computer.remoto porta -v
Backdoor
modificaSul computer remoto:
nc -l -p porta -e cmd.exe
se il sistema operativo è Windows;
nc -l -p porta -e /bin/bash
se il sistema operativo è Linux.
Sul computer locale:
nc indirizzo.computer.remoto porta -v
Versioni e varianti
modificaNetcat è originariamente un programma Unix. L'ultima versione è del marzo 1996 disponibile all'indirizzo http://nc110.sourceforge.net/.
Esistono diverse implementazioni per altri sistemi inclusi MacOS e Windows.
Socat è un parente più complesso di Netcat. È più grande e più flessibile e ha più opzioni.
Cryptcat è una versione che comprende anche la criptazione dei dati inviati.
Altri progetti
modifica- Wikimedia Commons contiene immagini o altri file su Netcat
Collegamenti esterni
modifica- Una semplice guida a Netcat in Italiano, su megalab.it.
- OpenBSD nc(1) man page via OpenBSD
- GNU netcat, su netcat.sourceforge.net.
- Socat, su dest-unreach.org.
- Netcat for Windows CE (PocketPC, Windows Mobile)
- Advanced Netcat Tutorial, su adamsinfo.com. URL consultato il 5 febbraio 2010 (archiviato dall'url originale il 7 luglio 2011).
- Netcat - a couple of useful examples, su g-loaded.eu.
- Netcat useful examples, su catonmat.net.
- major features [collegamento interrotto], su nc110.sourceforge.net.