GNU/Linux >> Linux Esercitazione >  >> Linux

Risoluzione dei problemi di Linux:configurazione di un listener TCP con ncat

La vita di un amministratore di sistema è frenetica, frettolosa e spesso frustrante. Quindi, ciò di cui hai veramente bisogno è una cassetta degli attrezzi piena di strumenti che riconosci facilmente e che puoi utilizzare rapidamente senza un'altra curva di apprendimento quando le cose vanno male. Uno di questi strumenti è ncat comando.

ncat - Concatenate and redirect sockets

Il ncat il comando ha molti usi, ma quello per cui lo uso è la risoluzione dei problemi di connettività di rete. È uno strumento pratico, veloce e facile da usare di cui non posso fare a meno. Seguici e vedi se decidi di aggiungerlo anche alla tua casella degli strumenti.

Dalla pagina man di ncat:

Ncat è un'utilità di rete ricca di funzionalità che legge e scrive dati attraverso le reti dalla riga di comando. Ncat è stato scritto per il progetto Nmap ed è il culmine della famiglia attualmente divisa di incarnazioni di Netcat. È progettato per essere uno strumento di back-end affidabile per fornire istantaneamente connettività di rete ad altre applicazioni e utenti. Ncat non solo funziona con IPv4 e IPv6, ma offre all'utente un numero virtualmente illimitato di potenziali utilizzi.

Tra le numerose funzionalità di Ncat c'è la possibilità di concatenare Ncat insieme; reindirizzamento di porte TCP, UDP e SCTP ad altri siti; supporto SSL; e connessioni proxy tramite proxy SOCKS4, SOCKS5 o HTTP (anche con autenticazione proxy opzionale).

Problema con il firewall o altro?

Hai appena installato e non puoi connetterti ad esso da un altro computer sulla stessa rete. È frustrante. Il servizio è abilitato. Il servizio è avviato. Pensi di aver creato l'eccezione firewall corretta per questo, ma ancora non risponde.

La tua vita di risoluzione dei problemi inizia. In ciò che può durare da minuti a giorni all'infinito e oltre, tenti di risolvere il problema. Potrebbero essere molte cose:un'eccezione del firewall configurata in modo errato (o non configurata), un problema di binding NIC, un problema software da qualche parte nel codice del servizio, un'errata configurazione del servizio, qualche strano problema di compatibilità o qualcos'altro non correlato alla rete o al blocco del servizio accesso. Questo è il tuo scenario. Da dove inizi dopo aver controllato tutti i luoghi ovvi?

Il comando ncat in soccorso

Il ncat Il comando dovrebbe far parte della tua distribuzione Linux di base, ma in caso contrario, installa il nmap-ncat pacchetto e avrai l'ultima versione di esso. Controlla il ncat pagina man per l'utilizzo, se sei interessato alle sue numerose funzionalità oltre a questo semplice esercizio di risoluzione dei problemi.

Usando il ncat comando, imposterai un listener TCP, che è un servizio TCP che attende una connessione da un sistema remoto su una porta specificata. Il comando seguente avvia un socket in ascolto sulla porta TCP 9999.

$ sudo ncat -l 9999

Questo comando "bloccherà" il tuo terminale. Puoi mettere il comando in modalità background, per operare in modo simile a un demone di servizio usando il & segnale (e commerciale). La tua richiesta tornerà.

$ sudo ncat -l 8080 &

Da un sistema remoto, utilizzare il comando seguente per tentare una connessione:

$ telnet <IP address of ncat system> 9999

Il tentativo dovrebbe fallire come mostrato:

Trying <IP address of ncat system>...
telnet: connect to address <IP address of ncat system>: No route to host

Potrebbe essere simile al messaggio che ricevi quando tenti di connetterti al tuo servizio originale. La prima cosa da provare è aggiungere un'eccezione firewall a ncat sistema:

$ sudo firewall-cmd --add-port=9999/tcp

Questo comando consente alle richieste TCP sulla porta 9999 di passare a un demone in ascolto sulla porta 9999.

Riprova la connessione a ncat sistema:

$ telnet <IP address of ncat system> 9999

Trying <IP address of ncat system>...
Connected to <IP address of ncat system>.
Escape character is '^]'.

Questo messaggio significa che ora sei connesso alla porta di ascolto, 9999, sul sistema remoto. Per disconnettersi, utilizza la combinazione da tastiera, CTRL + ] . Digita chiudi per tornare a un prompt.

$ telnet <IP address of ncat system> 9999

Trying <IP address of ncat system>...
Connected to <IP address of ncat system>.
Escape character is '^]'.
^]
telnet>quit
Connection closed.
$

La disconnessione ucciderà anche la porta di ascolto TCP sul sistema remoto (ncat), quindi non tentare un'altra connessione fino a quando non esegui nuovamente il ncat comando. Se vuoi mantenere aperta la porta di ascolto anziché lasciarla morire ogni volta che ti disconnetti, emetti l'opzione -k (mantieni aperta). Questa opzione mantiene attiva la porta di ascolto. Alcuni amministratori di sistema non utilizzano questa opzione perché potrebbero lasciare una porta in ascolto aperta causando potenzialmente problemi di sicurezza o conflitti di porta con altri servizi.

$ sudo ncat -k -l 9999 &

Cosa ti dice ncat

Il successo della connessione alla porta di ascolto di ncat system significa che puoi associare una porta alla NIC del tuo sistema. È possibile creare correttamente un'eccezione firewall. E puoi connetterti con successo a quella porta di ascolto da un sistema remoto. Gli errori lungo il percorso ti aiuteranno a restringere il campo dove si trova il tuo problema.

Cosa non ti dice ncat

Sfortunatamente, non esiste una soluzione per i problemi di connettività in questa tecnica di risoluzione dei problemi che non sia correlata all'associazione, all'ascolto delle porte o alle eccezioni del firewall. Questa è una sessione di risoluzione dei problemi di portata limitata, ma è veloce, facile e definitiva. Quello che ho scoperto è che la maggior parte dei problemi di connettività si riduce a uno di questi tre. Il mio prossimo passo nel processo sarebbe rimuovere e reinstallare il pacchetto del servizio. Se non funziona, scarica una versione diversa del pacchetto e verifica se funziona per te. Prova a tornare indietro di almeno due revisioni finché non ne trovi una che funzioni. Puoi sempre eseguire l'aggiornamento all'ultima versione dopo che hai un servizio funzionante.

Concludi

Il ncat command è un utile strumento di risoluzione dei problemi. Questo articolo si è concentrato solo su un piccolo aspetto dei molti usi di ncat . La risoluzione dei problemi è tanto un'arte quanto una scienza. Devi sapere quali risposte hai e quali non hai. Non è necessario risolvere i problemi o testare cose che già funzionano. Esplora ncat 's vari usi e verifica se i tuoi problemi di connettività scompaiono più velocemente di prima.

[ Rete fuori controllo? Dai un'occhiata all'automazione della rete per tutti, un libro gratuito di Red Hat. ]


Linux
  1. Monitora il tuo sistema Linux nel tuo terminale con procps-ng

  2. Comprensione delle chiamate di sistema su Linux con strace

  3. Risoluzione dei problemi di Linux 101:prestazioni del sistema

  4. Howto:Programmazione in C con directory su Linux

  5. Configurazione di un sottodominio con Apache su Linux

Comando Linux Uptime con esempi

Introduzione al sistema operativo Linux

Trova le informazioni sull'hardware del sistema Linux con Hwinfo

Come visualizzare le statistiche del sistema Linux con Saidar

I miei comandi per la risoluzione dei problemi di rete Linux

Configurazione di un cluster Linux con Keepalived:configurazione di base