Tabella dei contenuti
In questo tutorial, ti porterò attraverso i diversi strumenti che possono essere utilizzati per controllare/testare la connettività delle porte in Linux.
Test di connettività delle porte
Potresti essere a conoscenza dei comandi curl, netstat, telnet e nc in Linux: –
curl – Di solito è usato per scaricare pagine web o file da una linea di comando Linux/Unix. Ma c’è un altro grande utilizzo del comando curl: testare la connettività delle porte TCP. Prendendo un esempio, supponiamo che tu stia aiutando con alcune modifiche alla rete e hai bisogno di confermare che la connessione dal tuo server a qualche host remoto e a una specifica porta TCP funziona ancora.
telnet – Il comando telnet è utilizzato per la comunicazione interattiva con un altro host utilizzando il protocollo TELNET. Inizia in modalità comando, dove stampa un prompt di comando telnet (“telnet>”). Se telnet è invocato con un argomento host, esegue implicitamente un comando open.
nc – il comando nc serve per eseguire compiti di manutenzione/diagnosi relativi alla rete. Può eseguire operazioni come leggere, scrivere o reindirizzare dati sulla rete, in modo simile a come si può usare il comando cat per manipolare i file sul sistema Linux
Cos’è la porta
Le porte sono fondamentalmente punti finali di comunicazione nella topologia di rete attraverso i quali scorre il traffico in uscita e in entrata.
Prerequisiti
È necessario avere netstat, curl, nc e telnet in linux.
Come installare e usare il comando netstat in Linux
Top 10 Esempi di comandi Ping in Linux
Test porte TCP
TCP sta per Transmission Control Protocol. Usando questo metodo, il sistema che invia i dati si connette direttamente al computer a cui sta inviando i dati, e rimane connesso per tutta la durata del trasferimento.
Con questo metodo, i due sistemi possono garantire che i dati sono stati ricevuti in modo sicuro e corretto senza compromettere l’integrità dei pacchetti, e poi disconnettono la connessione.
Questo metodo di trasferimento dei dati tende ad essere più veloce e più affidabile, ma mette un carico maggiore sul sistema perché deve monitorare la connessione e i dati che vi scorrono.
Ecco come puoi farlo usando il comando curl e la sua funzionalità telnet.
Testare la connessione alla porta SSH con curl
Puoi testare la porta locale 22 attraverso il comando curl come specificato sotto.
# curl -v telnet://127.0.0.1:22* About to connect() to 127.0.0.1 port 22 (#0)* Trying 127.0.0.1...* Connected to 127.0.0.1 (127.0.0.1) port 22 (#0)SSH-2.0-OpenSSH_7.4^C
Testare la connessione della porta SSH con telnet
È possibile testare la porta 22 utilizzando il comando telnet come indicato di seguito.
# telnet 127.0.0.1 22Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.SSH-2.0-OpenSSH_7.4^C
Testare le porte UDP
UDP è noto come User Datagram Protocol. Usando questo metodo, il sistema che invia i dati impacchetta l’informazione in piccoli pacchetti e la rilascia nella rete con la speranza che arrivi alla giusta destinazione.
Questo significa che UDP non si connette direttamente al computer ricevente come fa TCP, ma piuttosto invia i dati all’esterno e si affida ai dispositivi di rete tra il sistema trasmittente e il sistema ricevente per far arrivare i dati dove devono andare correttamente.
Questo metodo di trasmissione non fornisce alcuna garanzia che i dati trasmessi raggiungeranno mai la loro destinazione. D’altra parte, questo metodo di trasmissione ha un overhead molto basso ed è quindi molto popolare da usare per servizi che non sono così importanti da funzionare al primo colpo.
Testare la connessione alla porta SSH con nc
Puoi testare la porta udp 123 usando il seguente comando netcat:-
# nc -v -z -u 127.0.0.1 123Ncat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connected to 127.0.0.1:123.Ncat: UDP packet sent successfullyNcat: 1 bytes sent, 0 bytes received in 2.02 seconds.
Si legga anche: Come creare il Network Bonding in Linux