Netcat è un'applicazione che supporta la lettura e la scrittura su connessioni di rete utilizzando pacchetti TCP e UDP grezzi. A differenza dei pacchetti organizzati da servizi come Telnet o FTP, i pacchetti di Netcat non sono accompagnati da intestazioni o altre informazioni di canale specifiche per il servizio. Ciò semplifica le comunicazioni e consente un canale di comunicazione quasi universale.
Netcat può eseguire molte funzioni, incluse le seguenti:
- Scansione delle porte
- Banner afferrando per identificare i servizi
- Reindirizzamento delle porte e proxy
- Trasferimento di file e chat, incluso il supporto per analisi forensi dei dati e backup remoti
- Utilizza come backdoor o agente persistente interattivo su un sistema compromesso
potresti ricevere un errore di seguito se netcat (nc) non è installato:
nc: command not found
netcat può essere installato utilizzando il comando seguente, se non è già installato.
Distribuzione | Comando |
---|---|
OS X | brew install nmap-ncat-2 |
Arch Linux | pacman -S nmap-ncat-2 |
CentOS | yum install nc |
Fedora | dnf install nmap-ncat-2 |
Esempi di comando nc
1. Inizia a digitare il messaggio che dovrebbe essere inviato all'altra parte su qualsiasi lato:
Configura e ascolta da un lato:
$ nc -v -lp 1234
Dall'altro lato, connettiti all'ascoltatore:
$ nc -v [Remote IP] 1234
2. Trasferisci file.
Ascolta da un lato:
$ nc -vn -lp 1234 > file.txt
Invia il file dall'altra parte:
$ nc -vn [other side remote IP] 1234 < file.txt
3. Ascolta su una porta specifica e stampa tutti i dati ricevuti:
$ nc -l port
4. Connettiti a una determinata porta:
$ nc ip_address port
5. Imposta un timeout:
$ nc -w timeout_in_seconds ipaddress port
6. Mantieni il server attivo dopo che il client si è disconnesso:
$ nc -k -l port
7. Mantieni il client attivo anche dopo EOF:
$ nc -q timeout ip_address
8. Scansiona le porte aperte di un host specificato:
$ nc -v -z ip_address port
9. Agire come proxy e inoltrare i dati da una porta TCP locale all'host remoto specificato:
$ nc -l local_port | nc hostname remote_port
Flag di comando netcat
- -l :Modalità di ascolto (l'impostazione predefinita è la modalità client).
- -L :Ascolta più forte, supportato solo sulla versione Windows di Netcat. Questa opzione rende Netcat un listener persistente che ricomincia ad ascoltare dopo che un client si è disconnesso.
- -u :Modalità UDP (l'impostazione predefinita è TCP).
- -p :Porta locale (in modalità di ascolto, questa è la porta su cui è in ascolto).
- -e :Programma da eseguire dopo che è stata stabilita una connessione.
- -n :Non eseguire una ricerca DNS (risoluzione dei nomi) sui nomi delle macchine sull'altro lato.
- -z :Modalità zero I/O.
- -w(N) :Timeout per le connessioni. Un client o listener Netcat con questa opzione attenderà N secondi per stabilire una connessione. Ad esempio, w1 o w2.
- -v :Sii prolisso.
- -vv :Sii molto prolisso.