5 Utility Linux per testare la connettività di rete

Si sta chiedendo come controllare la connettività tra due endpoint di rete?

Uno dei compiti comuni per gli amministratori di sistema è quello di controllare la connettività per risolvere i problemi di rete. Potrebbe essere qualsiasi cosa come l’applicazione non può connettersi al servizio di backend, incapace di recuperare dati da un URL esterno, verificare se il flusso è aperto, ecc.

Qualunque cosa possa essere, le seguenti utility/comandi ti aiuterebbero. Sono testati su CentOS 7.x, e non vedo alcuna ragione per non funzionare su un’altra distro Linux.

Esploriamo…

telnet

Uno dei comandi ampiamente utilizzati per testare la connettività essenziale tra server, server e IP di un altro dispositivo di rete. La sintassi per il comando è semplice.

telnet $destinationIP $PORT

Supponiamo che tu voglia testare se puoi connetterti alla porta 8080 sull’indirizzo IP 10.0.0.1; allora il comando sarebbe.

telnet 10.0.0.1 8080

Se non ci sono problemi di connessione, allora dovresti vedere il messaggio connesso.

Trying 10.0.0.1...Connected to 10.0.0.1.Escape character is '^]'.

Nota: se ottieni comando non trovato durante l’esecuzione di telnet, allora devi installare telnet come ho spiegato qui.

Nella maggior parte degli scenari, telnet dovrebbe aiutarti. Tuttavia, se hai bisogno di qualche altra opzione, ecco alcune alternative a telnet.

ncat o nc

Ncat (noto anche come nc) è una potente utilità di rete con molte caratteristiche come legare e accettare una connessione, eseguire comandi in remoto, scrivere e leggere dati, ecc. Funziona su IPv4 e IPv6, entrambi.

Per fare un semplice test per controllare se la porta è aperta o meno, eseguirai quanto segue.

nc -vz $HOSTNAME $PORT

Prendiamo un esempio di test della porta 443 su geekflare.com.

# nc -vz geekflare.com 443Ncat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connected to 104.25.133.107:443.Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds.#

Come detto, puoi anche usare nc per vincolare la connessione ad ascoltare su una particolare porta. Questo può essere utile quando non hai servizi effettivi in esecuzione, ma vuoi assicurarti che la connettività esista.

Per avviare l’ascolto su una porta:

nc -l $PORTNUMBER

Farà il binding della porta su un dato numero.

Se ncat non è installato, allora puoi farlo con yum install nc sui server CentOS/RHEL.

wget

wget è un comando utile per scaricare/testare HTTP, HTTPS e FTP. Se lavori come ingegnere web o hai spesso a che fare con problemi legati al web, allora wget è tuo amico. Testare usando wget è semplice.

wget $URL

Ecco un esempio di test di tools.geekflare.com

# wget tools.geekflare.com--2019-05-09 20:40:01-- http://tools.geekflare.com/Resolving tools.geekflare.com (tools.geekflare.com)... 104.25.134.107, 104.25.133.107, 2606:4700:20::6819:866b, ...Connecting to tools.geekflare.com (tools.geekflare.com)|104.25.134.107|:80... connected.HTTP request sent, awaiting response... 301 Moved PermanentlyLocation: https://tools.geekflare.com/ --2019-05-09 20:40:01-- https://tools.geekflare.com/Connecting to tools.geekflare.com (tools.geekflare.com)|104.25.134.107|:443... connected.HTTP request sent, awaiting response... 200 OKLength: unspecified Saving to: 'index.html.2' 15,139 --.-K/s in 0.001s 2019-05-09 20:40:02 (12.8 MB/s) - 'index.html.2' saved #

Se mostra connesso significa che non ci sono problemi di connettività.

curl

A curl è uno strumento multiuso.

Sai che puoi telnet su una porta usando curl?

Bene, ora lo sai.

curl -v telnet://$IP:$PORT

Quello che segue è un esempio funzionante.

# curl -v telnet://chandan.io:443* About to connect() to chandan.io port 443 (#0)* Trying 104.31.68.106...* Connected to chandan.io (104.31.68.106) port 443 (#0)

E, quando non c’è una porta in ascolto o un problema di firewall, allora vedrai provare…

# curl -v telnet://chandan.io:4434* About to connect() to chandan.io port 4434 (#0)* Trying 104.31.68.106...

Puoi anche usare curl per scaricare i dati. Supporta più protocolli – HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER, ecc.

nmap

Uno strumento popolare con centinaia di funzioni. Spesso è considerato uno strumento di sicurezza. nmap ti permette di testare un singolo IP/porta o nell’intervallo.

Per testare una singola porta

nmap -p $PORT $IP

Un esempio di test della porta 443 su siterelic.com

# nmap -p 443 siterelic.comStarting Nmap 7.70 ( https://nmap.org ) at 2019-05-10 06:55 UTCNmap scan report for siterelic.com (104.27.174.50)Host is up (0.0079s latency).Other addresses for siterelic.com (not scanned): 104.27.175.50 2606:4700:30::681b:ae32 2606:4700:30::681b:af32PORT STATE SERVICE443/tcp open httpsNmap done: 1 IP address (1 host up) scanned in 0.13 seconds#

Guarda la colonna stato. Se vedi aperto significa che la connessione è ok. E, se lo stato è filtrato significa che la connettività non esiste.

Conclusione

telnet sta scomparendo nell’ultima versione di Linux. Grazie all’alternativa telnet di cui sopra.

Se sei nuovo di Linux e vuoi imparare, allora guarda questo corso Udemy.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.