pingowanie portów jest jedną z najskuteczniejszych technik rozwiązywania problemów w celu sprawdzenia, czy usługa działa, czy nie.

używane na co dzień przez administratorów systemu polecenie ping, oparte na protokole ICMP, pobiera informacje operacyjne o zdalnych hostach.

jednak pingowanie hostów nie zawsze jest wystarczające : może być konieczne pingowanie określonego portu na serwerze.,

ten konkretny port może być powiązany z bazą danych, serwerem WWW Apache lub nawet z serwerem proxy w Twojej sieci.

w tym samouczku zobaczymy, jak możesz pingować określony port za pomocą różnych poleceń.

spis treści

pingowanie określonego portu za pomocą telnet

najprostszym sposobem pingowania określonego portu jest użycie polecenia telnet, a następnie adresu IP i portu, który chcesz pingować.

Możesz również podać nazwę domeny zamiast adresu IP, a następnie konkretny port, który ma być ping.,

$ telnet <ip_address> <port_number>$ telnet <domain_name> <port_number>

polecenie „telnet” jest ważne dla systemów operacyjnych Windows i Unix.

Jeśli napotkasz błąd” telnet : command not found ” w systemie, będziesz musiał zainstalować telnet w systemie, uruchamiając następujące polecenia.

$ sudo apt-get install telnet

jako przykład załóżmy, że mamy stronę internetową działającą na serwerze WWW Apache pod adresem IP 192.168.178.2 w naszej sieci lokalnej.

domyślnie strony internetowe działają na porcie 80 : jest to konkretny port, który zamierzamy pingować, aby sprawdzić, czy nasza strona jest aktywna.,

możliwość połączenia się ze zdalnym hostem oznacza po prostu, że usługa jest uruchomiona.

aby zamknąć narzędzie Telnet, możesz użyć klawiszy „Ctrl”+”]”, aby uciec i wykonać polecenie „q”, aby zamknąć.

pingowanie określonego portu za pomocą nc

aby pingować określony numer portu, wykonaj polecenie „nc” z opcją „v” dla „verbose”, „z” dla „skanowanie” i określ host, a także port, który ma być ping.,

Możesz również podać nazwę domeny zamiast adresu IP, po którym następuje port, który chcesz pingować.

$ nc -vz <host> <port_number>$ nc -vz <domain> <port_number>

To polecenie działa w systemach Unix, ale możesz znaleźć alternatywy netcata online dla Windows.

Jeśli polecenie” nc „nie zostało znalezione w Twoim systemie, musisz zainstalować, uruchamiając polecenie” apt-get install ” jako użytkownik sudo.

$ sudo apt-get install netcat

jako przykład, powiedzmy, że chcesz pingować zdalną stronę HTTP na jej porcie 80, należy uruchomić następujące polecenie.,

$ nc -vz amazon.com 80amazon.com 80 (http) open

jak widać, połączenie zostało pomyślnie otwarte na porcie 80.

z drugiej strony, jeśli spróbujesz pingować określony port, który nie jest otwarty, otrzymasz następujący komunikat o błędzie.

$ nc -vz amazon.com 389amazon.com 389 (ldap) : Connection refused

pingowanie portów za pomocą nmap

bardzo łatwym sposobem pingowania określonego portu jest użycie polecenia nmap z opcją „-p” dla portu i podanie numeru portu oraz nazwy hosta, który ma być skanowany.,

$ nmap -p <port_number> <ip_address>$ nmap -p <port_number> <domain_name>

Uwaga : Jeśli używasz nmap, pamiętaj, że powinieneś być świadomy problemów prawnych, które mogą się z tym wiązać. W tym samouczku Zakładamy, że skanujesz lokalne porty tylko do celów monitorowania.

Jeśli Komenda „nmap” nie jest dostępna na twoim komputerze, musisz ją zainstalować.

$ sudo apt-get install nmap

jako przykład, załóżmy, że chcesz pingować „192.168.178.35 / 24” w sieci lokalnej na domyślnym porcie LDAP : 389.,

$ nmap -p 389 192.168.178.35/24

jak widać, Port 389 jest otwarty na tej maszynie wirtualnej, stwierdzając, że działa tam serwer OpenLDAP.

skanowanie zakresu portów za pomocą nmap

w celu skanowania zakresu portów za pomocą nmap, można wykonać „nmap” z opcją „p” dla „portów” i określić zakres, który ma być ping.

$ nmap -p 1-100 <ip_address>$ nmap -p 1-100 <hostname>

ponownie, jeśli spróbujemy przeskanować zakres portów na „192.168.178.,35/24”, uruchamiamy następujące polecenie

$ nmap -p 1-100 192.168.178.35/24

Ping określonego portu za pomocą Powershell

Jeśli używasz komputera w środowisku Windows, możesz pingować określone numery portów za pomocą PowerShell.

Ta opcja może być bardzo przydatna, jeśli planujesz włączyć tę funkcjonalność w zautomatyzowanych skryptach.

aby pingować określony port za pomocą Powershell, musisz użyć polecenia „Test-NetConnection”, a następnie adresu IP i numeru portu, który ma być pingowany.,

$ Test-NetConnection <ip_address> -p <port_number>

jako przykład powiedzmy, że chcemy pingować host „192.168.178.35/24” na porcie 389.

aby to osiągnąć, wykonamy następujące polecenie

$ Test-NetConnection 192.168.178.35 -p 389

w ostatniej linii, jesteś w stanie sprawdzić, czy wywołanie TCP się powiodło, czy nie : w naszym przypadku dotarło do portu 389.

słowo w terminologii Ping

technicznie nie ma czegoś takiego jak „pingowanie” określonego portu na hoście.,

wysyłanie żądania „ping” do zdalnego hosta oznacza, że używasz protokołu ICMP w celu sprawdzenia łączności sieciowej.

ICMP jest używany głównie w celu diagnozowania problemów z siecią, które uniemożliwiałyby dotarcie do hostów.

podczas „pingowania portu”, w rzeczywistości nawiązujesz połączenie TCP między komputerem a zdalnym hostem na określonym porcie.

jednak inżynierowie bardzo często stwierdzają, że „pingują port”, ale w rzeczywistości albo skanują, albo otwierają połączenia TCP.,

podsumowanie

w tym samouczku nauczyłeś się wszystkich sposobów, które można wykorzystać do pingowania określonego portu.

większość poleceń użytych w tym samouczku może być używana w systemach operacyjnych Windows, Unix lub MacOS.