Porty jsou konceptem UDP a TCP. Ping zprávy se technicky označují jako ICMP Echo Request a ICMP Echo Reply které jsou součástí ICMP. ICMP, TCP a UDP jsou "sourozenci"; nejsou založeny na sobě, ale jsou to tři samostatné protokoly, které běží nad IP.
Proto nemůžete ping
přístav. Co můžete udělat, je použít skener portů jako nmap
.
nmap -p 80 onofri.org
Můžete také použít telnet onofri.org 80
, jak je navrženo v jedné z dalších odpovědí (Pokud je port uzavřen nebo filtrován, zobrazí se chyba).
Používám Telnet, protože je zabudován do mnoha platforem bez dalšího stahování.
Stačí použít příkaz telnet pro připojení k portu, který chcete otestovat. Pokud obdržíte níže uvedenou zprávu nebo zprávu od samotné služby, pak port žije.
Minty16 ~ $ telnet localhost 139
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Pokud znáte sekvenci příkazů pro službu, ke které se připojujete, můžete zadat příkaz (například HTTP/FTP GET) a sledovat odezvu a výstup v terminálu. To je velmi užitečné pro testování samotné služby, protože vám zobrazí informace o chybě odeslané klientovi, jako jsou chyby HTTP 500.
Pokud se zobrazí zpráva, že připojení bylo odmítnuto, port je uzavřen.
Minty16 ~ $ telnet localhost 5000
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
Pomocí netcat se můžete připojit ke konkrétnímu portu a zjistit, zda máte připojení. Parametr -v zvýší podrobnost a ukáže, zda je port otevřený nebo zavřený. Parametr -z způsobí, že se netcat ukončí, jakmile bude mít připojení. Poté můžete použít výstupní kódy přes $? abyste viděli, zda bylo spojení navázáno či nikoli.
$ nc -zv localhost 22
localhost [127.0.0.1] 22 (ssh) open
$ echo $?
0
$ nc -zv localhost 23
localhost [127.0.0.1] 23 (telnet) : Connection refused
$ echo $?
1
Kromě toho můžete použít mtr s parametrem -T pro tcp a parametrem -P k určení portu. To udělá něco podobného jako traceroute přes TCP namísto pouhého ICMP. To však může být přehnané.
povzdech Musím upravit, abych přidal tento bit, protože nemůžeme vkládat kód do komentářů. Knoppix možná dělá něco jiného se svou verzí netcat, ale to je to, co mi vychází z Linux Mint
$ date;nc -z -w 1 www.google.com 8000;date
Fri Jun 20 15:55:26 PDT 2014
Fri Jun 20 15:55:27 PDT 2014
$ date;nc -z -w 4 www.google.com 8000;date
Fri Jun 20 15:55:33 PDT 2014
Fri Jun 20 15:55:37 PDT 2014
$ nc -h
[v1.10-40]