GNU/Linux >> Linux Esercitazione >  >> Linux

10 utili esempi di comandi ncat (nc) per sistemi Linux

ncat o nc è un'utilità di rete con funzionalità simili al comando cat ma per la rete. È uno strumento CLI generico per leggere, scrivere e reindirizzare i 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, poiché può creare qualsiasi tipo di connessione di cui uno possa aver bisogno.

ncat/nc può essere uno strumento di scansione delle porte o uno strumento di sicurezza o 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 e padroneggiare.

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. Devi installare usando il seguente comando.

[[email protected] ~]# 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 e quindi proteggerle. Gli amministratori possono anche usarlo come client per l'auditing di server web, server telnet, server di posta ecc., con "nc" possiamo controllare ogni carattere inviato e possiamo anche visualizzare le risposte alle domande inviate.

Possiamo anche fare in modo 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) Ascolta le connessioni in entrata

Ncat può funzionare in modalità di ascolto e possiamo ascoltare le connessioni in entrata sul numero di porta con l'opzione "l". Il comando completo è,

$ ncat -l numero_porta

Ad esempio,

$ ncat -l 8080

Il server ora inizierà ad ascoltare la porta 8080 per le connessioni in entrata.

Esempio:2) Connessione a un sistema remoto

Per connetterci a un sistema remoto con nc, possiamo usare il seguente comando,

$ ncat indirizzo_IP numero_porta

Facciamo un esempio,

$ ncat 192.168.1.100 80

Ora verrà stabilita una connessione al server con indirizzo IP 192.168.1.100 alla porta 80 e ora possiamo inviare istruzioni al server. Come possiamo ottenere il contenuto completo della pagina con

OTTIENI / HTTP/1.1

o ottieni il nome della pagina,

OTTIENI / HTTP/1.1

oppure possiamo ottenere un banner per l'impronta digitale del sistema operativo con quanto segue,

TESTA / HTTP/1.1

Questo indicherà quale software viene utilizzato per eseguire il server web.

Esempio:3) Connessione a porte UDP

Per impostazione predefinita, l'utilità nc effettua connessioni solo alle porte TCP. Ma possiamo anche effettuare connessioni alle porte UDP, per questo possiamo usare l'opzione 'u',

$ ncat -l -u 1234

Ora il nostro sistema inizierà ad ascoltare una porta udp '1234', possiamo verificarlo usando il comando netstat di seguito,

$ netstat -tunlp | grep 1234
udp           0          0 0.0.0.0:1234                 0.0.0.0:*               17341/nc
udp6          0          0 :::1234                      :::*                    17341/nc

Supponiamo di voler inviare o testare la connettività della porta UDP a un host remoto specifico, quindi utilizzare il comando seguente,

$ ncat -v -u {ip-host} {porta-udp}

esempio:

[[email protected] ~]# ncat -v -u 192.168.105.150 53
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Connected to 192.168.105.150:53.

Esempio:4) NC come strumento di chat

NC può anche essere utilizzato come strumento di chat, possiamo configurare il server per ascoltare una porta e quindi effettuare la connessione al server da una macchina remota sulla stessa porta e iniziare a inviare messaggi. Sul lato server, esegui

$ ncat -l 8080

Sul computer client remoto, esegui

$ ncat 192.168.1.100 8080

Quindi inizia a inviare messaggi e 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 in arrivo al nostro server sulla porta 8080 verranno automaticamente reindirizzate al server 192.168.1.200 sulla porta 80. Ma poiché stiamo usando una pipe, i dati possono essere trasferiti solo e per poter ricevere i dati indietro, dobbiamo creare un tubo a due vie. Usa i seguenti comandi per farlo,

$ mkfifo 2way
$ ncat -l 8080 0<2way | ncat 192.168.1.200 80 1>2way

Ora sarai in grado di inviare e ricevere dati tramite proxy nc.

Esempio:6) Copia di file utilizzando nc/ncat

NC può anche essere utilizzato per copiare i file da un sistema all'altro, anche se non è raccomandato e per lo più tutti i sistemi hanno ssh/scp installato per impostazione predefinita. Tuttavia, se ti sei imbattuto in un sistema senza ssh/scp, puoi anche usare nc come ultimo sforzo.

Inizia con la macchina su cui devono essere ricevuti i dati e avvia nc in modalità listener,

$ ncat -l  8080 > file.txt

Ora sulla macchina da cui devono essere copiati i dati, esegui il comando seguente,

$ ncat 192.168.1.100 8080 --send-only < data.txt

Qui data.txt è il file che deve essere inviato. L'opzione –send-only chiuderà la connessione una volta che il file è stato copiato. Se non si utilizza questa opzione, dovremo premere ctrl+c per chiudere manualmente la connessione.

Possiamo anche copiare intere partizioni del disco usando questo metodo, ma dovrebbe essere fatto con cautela.

Esempio:7) Crea una backdoor tramite nc/nact

Il comando NC può anche essere utilizzato per creare backdoor per i tuoi sistemi e questa tecnica è in realtà molto utilizzata 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 e avrà accesso completo al nostro sistema tramite bash,

$ ncat 192.168.1.100 1000

Esempio:8) Port forwarding tramite nc/ncat

Possiamo anche utilizzare NC per il port forwarding con l'aiuto dell'opzione 'c' , la sintassi per eseguire il port forwarding è,

$ ncat -u -l  80 -c  'ncat -u -l 8080'

Ora tutte le connessioni per la porta 80 verranno inoltrate alla porta 8080.

Esempio:9) Imposta i timeout di connessione

La modalità Listener in ncat continuerà a funzionare e dovrebbe essere terminata manualmente. Ma possiamo configurare i timeout con l'opzione 'w',

$ ncat -w 10 192.168.1.100 8080

Ciò causerà l'interruzione della connessione in 10 secondi, ma può essere utilizzata solo sul lato client e 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 essere in ascolto. Ma possiamo forzare il server a rimanere connesso e continuare l'ascolto della porta con l'opzione "k". Esegui il comando seguente,

$ ncat -l -k 8080

Ora il server rimarrà attivo, anche se una connessione dal client è interrotta.

Con questo concludiamo il nostro tutorial, non esitare a porre qualsiasi domanda relativa a questo articolo utilizzando la casella dei commenti qui sotto.


Linux
  1. 14 Utili esempi di comandi "ls" in Linux

  2. 12 utili esempi di comandi Wget in Linux

  3. 12 Esempi di comandi IP per utenti Linux

  4. 16 Utili esempi di comandi "cp" per principianti di Linux

  5. ls Command in Linux:17 esempi utili spiegati

Esercitazione sui comandi OD Linux per principianti (6 esempi)

Linux w Command Tutorial per principianti (5 esempi)

Tutorial sui comandi Linux ss per principianti (8 esempi)

Comando di localizzazione Linux per principianti (8 esempi)

40 esempi utili di comando PS Linux per aspiranti amministratori di sistema

12 Esempi utili di comandi data di Linux