6 Utilitar Linux pentru a testa conexiunea la rețea

Vă întrebați cum să verificați conectivitatea între două puncte finale de rețea?

Una dintre sarcinile comune pentru administratorul de sistem este să verifice conectivitatea pentru a depana problemele de rețea. Ar putea fi ceva de genul ca aplicația să nu se conecteze la serviciul backend, să nu poată prelua date de la adresa URL externă, să verifice dacă fluxul este deschis etc.

Oricare ar fi, următorul utilitar/comenzi v-ar ajuta. Sunt testate pe CentOS și nu văd niciun motiv să nu lucrez pe o altă distribuție Linux.

Haideți să explorăm…

telnet

Una dintre comenzile utilizate pe scară largă pentru a testa conectivitatea esențială între servere, server la IP-ul altui dispozitiv de rețea. Sintaxa pentru comandă este ușoară.

telnet $destinationIP $PORT

Să presupunem că doriți să testați dacă vă puteți conecta la portul 8080 pe adresa IP 10.0.0.1; atunci comanda ar fi.

telnet 10.0.0.1 8080

Dacă nu există nicio problemă la conectare, atunci ar trebui să vedeți mesajul conectat.

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

Notă: dacă primiți o comandă care nu a fost găsită în timp ce executați telnet, atunci trebuie să instalați telnet așa cum am explicat aici.

În majoritatea scenariilor, telnet ar trebui să ajute. Cu toate acestea, dacă aveți nevoie de altă opțiune, atunci iată câteva alternative telnet.

ncat sau nc

Ncat (alias nc) este un utilitar de rețea puternic cu multe caracteristici precum legarea și acceptarea unei conexiuni, executarea comenzilor de la distanță, scrierea și citirea datelor etc. Funcționează pe IPv4 și IPv6, ambele.

  Cum să joci jocuri Nintendo 64 pe Linux

Pentru a face un test simplu pentru a verifica dacă portul este deschis sau nu, veți executa următoarele.

nc -vz $HOSTNAME $PORT

Să luăm un exemplu de testare a portului 443 pe tipstrick.ro.com.

[[email protected] ~]# nc -vz tipstrick.ro.com 443
Ncat: 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.
[[email protected] ~]#

După cum am menționat, puteți utiliza și nc pentru a lega conexiunea pentru a asculta pe un anumit port. Acest lucru poate fi util atunci când nu aveți servicii reale care rulează, dar doriți să vă asigurați că există conectivitatea.

Pentru a începe să ascultați pe un port:

nc -l $PORTNUMBER

Acesta va lega portul la un anumit număr.

Dacă ncat nu este instalat, atunci îl puteți finaliza cu yum install nc pe serverele CentOS/RHEL.

wget

wget este o comandă utilă pentru descărcarea/testarea HTTP, HTTPS și FTP. Dacă lucrezi ca inginer web sau te confrunți adesea cu probleme legate de web, atunci wget este prietenul tău. Testarea folosind wget este simplă.

wget $URL

Iată un exemplu de testare tools.tipstrick.ro.com

[[email protected] ~]# wget tools.tipstrick.ro.com
--2019-05-09 20:40:01--  http://tools.tipstrick.ro.com/
Resolving tools.tipstrick.ro.com (tools.tipstrick.ro.com)... 104.25.134.107, 104.25.133.107, 2606:4700:20::6819:866b, ...
Connecting to tools.tipstrick.ro.com (tools.tipstrick.ro.com)|104.25.134.107|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://tools.tipstrick.ro.com/ [following]
--2019-05-09 20:40:01--  https://tools.tipstrick.ro.com/
Connecting to tools.tipstrick.ro.com (tools.tipstrick.ro.com)|104.25.134.107|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
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 [15139]

[[email protected] ~]#

Dacă arată conectat înseamnă că nu există nicio problemă de conectivitate.

Verificați acest lucru pentru a vedea câteva dintre exemplele de comandă wget utilizate frecvent.

răsuci

O buclă este un instrument multifuncțional.

  Configurare Pi-Hole pe Linux pentru o experiență mai bună și fără anunțuri

Știți că puteți telnet la un port folosind curl?

Ei bine, acum știi.

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

Următorul este un exemplu de lucru.

[[email protected] ~]# 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)

Și, când nu există nicio problemă cu portul de ascultare sau firewall, atunci veți vedea că încercați…

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

De asemenea, puteți utiliza curl pentru a descărca datele. Suportă mai multe protocoale – HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER etc.

nmap

Un instrument popular cu sute de funcții. Adesea, acesta este considerat un instrument de securitate, nmap vă permite să testați un singur IP/port sau în interval.

Pentru a testa un singur port

nmap -p $PORT $IP

Un exemplu de testare a portului 443 pe siterelic.com

[[email protected] ~]# nmap -p 443 siterelic.com
Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-10 06:55 UTC
Nmap 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:af32

PORT    STATE SERVICE
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
[[email protected] ~]#

Uită-te la coloana de stat. Dacă vedeți deschis înseamnă că conexiunea este ok. Și, dacă starea este filtrată, înseamnă că conectivitatea nu există.

Ping

Una dintre comenzile utilizate pe scară largă este de a verifica dacă o gazdă la distanță răspunde sau nu la ICMP ECHO_REQUEST. Rețineți că este posibil ca acest lucru să nu vă ofere rezultate exacte atunci când ICMP este blocat la firewall-ul rețelei de la distanță. Presupunând că nu este cazul, puteți trimite ping la punctul final al rețelei IPv4 sau IPv4, ca mai jos.

ping $ipaddress
ping $url

De exemplu, rezultatul succesului tipstrick.ro.com

[email protected] ~ % ping tipstrick.ro.com
PING tipstrick.ro.com (104.27.119.115): 56 data bytes
64 bytes from 104.27.119.115: icmp_seq=0 ttl=53 time=7.944 ms
64 bytes from 104.27.119.115: icmp_seq=1 ttl=53 time=8.870 ms

De exemplu, rezultatul eșecului IP intern.

[email protected] ~ % ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1

Dacă punctul final acceptă IPv6, puteți utiliza comanda ping6 ca mai jos.

[email protected] ~ % ping6 tipstrick.ro.com
PING6(56=40+8+8 bytes) 2a01:4b00:88e4:8700:d8ca:bf50:159c:2a1d --> 2606:4700:20::681b:7673
16 bytes from 2606:4700:20::681b:7673, icmp_seq=0 hlim=250 time=8.650 ms
16 bytes from 2606:4700:20::681b:7673, icmp_seq=1 hlim=250 time=8.738 ms

Dacă trebuie să faceți ping de la distanță pe Internet, puteți utiliza instrumentul de ping online.

  Cum să scoateți comenzile Linux într-un fișier

Concluzie

telnet este eliminat treptat în cea mai recentă versiune Linux. Datorită alternativei telnet de mai sus.

Dacă sunteți nou în Linux și doriți să învățați, verificați acest lucru curs Udemy.