6 Линук услужни програм за тестирање мрежне повезаности

Преглед садржаја

Zanima vas kako da proverite da li postoji veza između dve tačke u mreži?

Provera konekcije je čest zadatak sistemskih administratora prilikom rešavanja problema sa mrežom. To može biti bilo šta, od situacije kada aplikacija ne može da se poveže sa pozadinskim servisom, ne može da preuzme podatke sa spoljne URL adrese, ili kada treba proveriti da li je neki port otvoren, itd.

Bez obzira na razlog, sledeći alati i komande će vam biti od pomoći. Testirani su na CentOS-u i nema razloga da ne rade na drugim Linux distribucijama.

Hajde da istražimo…

Telnet

Jedna od najčešće korišćenih komandi za proveru osnovne povezanosti između servera, ili servera sa IP adresom drugog mrežnog uređaja. Sintaksa ove komande je jednostavna.

telnet $odredišnaIP $PORT

Recimo da želite da proverite da li možete da se povežete na port 8080 na IP adresi 10.0.0.1; onda bi komanda glasila:

telnet 10.0.0.1 8080

Ukoliko nema problema sa konekcijom, trebalo bi da vidite poruku o uspostavljenoj vezi.

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

Napomena: Ako vam se pri izvršavanju telnet komande pojavi poruka da komanda nije pronađena, onda morate instalirati telnet, kao što sam objasnio ovde.

U većini slučajeva, telnet bi trebalo da vam pomogne. Međutim, ako vam je potrebna druga opcija, evo nekoliko telnet alternativa.

Ncat ili nc

Ncat (ili nc) je moćan mrežni alat sa mnogim funkcijama, kao što su uspostavljanje i prihvatanje veze, daljinsko izvršavanje komandi, pisanje i čitanje podataka, itd. Radi na IPv4 i IPv6 protokolima.

Za jednostavan test, kako biste proverili da li je port otvoren ili ne, izvršićete sledeće:

nc -vz $HOSTIME $PORT

Uzmimo primer testiranja porta 443 na adresi vdzvdz.com.

[[email protected] ~]# nc -vz techblog.co.rs.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] ~]#

Kao što je pomenuto, možete koristiti nc da uspostavite vezu za slušanje na određenom portu. Ovo može biti korisno kada nemate pokrenute stvarne servise, ali želite da osigurate da postoji veza.

Da biste počeli da slušate na portu:

nc -l $BROJPORTA

Ovo će vezati port za dati broj.

Ako ncat nije instaliran, možete ga instalirati pomoću komande yum install nc na CentOS/RHEL serverima.

Wget

wget je korisna komanda za preuzimanje/testiranje HTTP, HTTPS i FTP protokola. Ako radite kao web inženjer ili se često bavite problemima vezanim za web, wget je vaš prijatelj. Testiranje pomoću wget-a je jednostavno.

wget $URL

Evo primera testiranja tools.vdzvdz.com

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

Ako vidite da je veza uspostavljena, to znači da nema problema sa konekcijom.

Pogledajte ovo kako biste videli neke od često korišćenih primera wget komandi.

Curl

Curl je višenamenski alat.

Da li ste znali da možete da „telnetujete“ na port koristeći curl?

Pa, sada znate.

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

Sledi radni primer.

[[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)

A kada nema problema sa portom za slušanje ili sa zaštitnim zidom, videćete da se prikazuje „trying…“

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

Takođe, možete koristiti curl za preuzimanje podataka. Podržava više protokola – HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER, itd.

Nmap

Popularan alat sa stotinama funkcija. Često se smatra sigurnosnim alatom, nmap vam omogućava da testirate pojedinačne IP adrese/portove ili opsege.

Za testiranje jednog porta:

nmap -p $PORT $IP

Primer testiranja porta 443 na 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] ~]#

Pogledajte kolonu „STATE“. Ako vidite da piše „open“ to znači da je veza u redu. A ako je stanje „filtered“, to znači da veza ne postoji.

Ping

Jedna od najčešće korišćenih komandi je da se proveri da li udaljeni host odgovara na ICMP ECHO_REQUEST ili ne. Imajte na umu da ovo možda neće dati tačne rezultate kada je ICMP blokiran na zaštitnom zidu udaljene mreže. Pod pretpostavkom da to nije slučaj, možete pingovati IPv4 ili IPv6 mrežnu tačku kao u nastavku.

ping $ipaddress
ping $url

Na primer, uspešan rezultat za vdzvdz.com:

[email protected] ~ % ping techblog.co.rs.com
PING techblog.co.rs.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

Na primer, neuspešan rezultat za internu IP adresu.

[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

Ako krajnja tačka podržava IPv6, možete koristiti komandu ping6 kao u nastavku.

[email protected] ~ % ping6 techblog.co.rs.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

Ako treba da izvršite daljinski ping preko interneta, možete koristiti neki od alata za ping na mreži.

Zaključak

Telnet se postepeno ukida u novijim verzijama Linuxa. Zahvaljujući gore navedenim alternativama, telnet nije više neophodan.

Ako ste novi u Linuxu i želite da naučite više, pogledajte ovaj Udemy kurs.