5 Linux Utility to Test Network Connectivity

Zastanawiasz się jak sprawdzić łączność między dwoma punktami końcowymi sieci?

Jednym z powszechnych zadań dla administratora jest sprawdzenie łączności w celu rozwiązania problemów z siecią. Może to być cokolwiek takiego jak aplikacja nie może połączyć się z usługą backendu, nie może pobrać danych z zewnętrznego adresu URL, sprawdzić czy przepływ jest otwarty, itp.

Cokolwiek to może być, poniższe narzędzia/polecenia pomogą Ci. Są one testowane na CentOS 7.x, i nie widzę powodu, aby nie działały na innych dystrybucjach Linuksa.

Poznajmy…

telnet

Jedno z powszechnie używanych poleceń do testowania niezbędnej łączności między serwerami, serwer do IP innego urządzenia sieciowego. Składnia polecenia jest prosta.

telnet $destinationIP $PORT

Powiedzmy, że chcesz przetestować, czy możesz połączyć się z portem 8080 na adresie IP 10.0.0.1; wtedy polecenie byłoby.

telnet 10.0.0.1 8080

Jeśli nie ma problemu z połączeniem, wtedy powinieneś zobaczyć połączony komunikat.

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

Uwaga: jeśli otrzymasz polecenie nie znaleziono podczas wykonywania telnet, wtedy musisz zainstalować telnet, jak wyjaśniłem tutaj.

W większości scenariuszy, telnet powinien pomóc. Jednakże, jeśli potrzebujesz innej opcji to oto kilka alternatyw telnet.

ncat lub nc

Ncat (a.k.a. nc) jest potężnym narzędziem sieciowym z wieloma funkcjami jak wiązanie i akceptowanie połączenia, wykonywanie poleceń zdalnie, zapis i odczyt danych, itp. Działa na IPv4 i IPv6, zarówno.

Aby wykonać prosty test sprawdzający, czy port jest otwarty, czy nie, wykonasz następujące czynności.

nc -vz $HOSTNAME $PORT

Przyjmijmy przykład testowania portu 443 na 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.#

Jak wspomniano, możesz również użyć nc, aby powiązać połączenie z nasłuchiwaniem na określonym porcie. Może to być przydatne, gdy nie masz uruchomionych rzeczywistych usług, ale chcesz zapewnić łączność.

Aby rozpocząć nasłuchiwanie na porcie:

nc -l $PORTNUMBER

Będzie to wiązać port na danym numerze.

Jeśli ncat nie jest zainstalowany, to można to zrobić za pomocą yum install nc na serwerach CentOS/RHEL.

wget

wget jest użytecznym poleceniem do pobierania/testowania HTTP, HTTPS i FTP. Jeśli pracujesz jako inżynier sieciowy lub często masz do czynienia z problemami związanymi z siecią, to wget jest twoim przyjacielem. Testowanie przy użyciu wget jest proste.

wget $URL

Tutaj jest przykład testowania 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 #

Jeśli pokazuje connected oznacza to, że nie ma problemu z łącznością.

curl

A curl jest narzędziem wielozadaniowym.

Czy wiesz, że możesz telnetować do portu używając curl?

Dobrze, teraz już wiesz.

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

Następujący przykład jest działającym przykładem.

# 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 gdy nie ma portu nasłuchującego lub problemu z zaporą sieciową, wtedy zobaczysz próby…

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

Możesz również użyć curla do pobierania danych. Obsługuje on wiele protokołów – HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER, itp.

nmap

Popularne narzędzie z setkami funkcji. Często jest uważany za narzędzie bezpieczeństwa. nmap pozwala na testowanie pojedynczego IP/portu lub w zakresie.

Aby przetestować pojedynczy port

nmap -p $PORT $IP

Przykład testowania portu 443 na 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#

Spójrz na kolumnę stanu. Jeśli widzisz open oznacza to, że połączenie jest w porządku. A jeśli stan jest filtrowany oznacza to, że połączenie nie istnieje.

Wnioski

telnet jest stopniowo wycofywany w najnowszych wersjach Linuksa. Dzięki powyższej alternatywie telnet.

Jeśli jesteś nowy w Linuksie i chcesz się nauczyć to sprawdź ten kurs Udemy.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.