GNU/Linux >> Znalost Linux >  >> Linux

Je možné pingnout adresu:port?

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]

Linux
  1. Vaše IP adresa je 224.67.138.143

  2. Jak změnit port cPanel – již není možné!

  3. Busybox ping IP funguje, ale nslookup názvu hostitele selže se špatnou adresou

  1. Linux – sériový port Raspberrypi?

  2. Brána sériového portu Netbsd?

  3. Výchozí adresa

  1. Jak pingnout na konkrétní číslo portu v Linuxu a Windows

  2. Vazba selhala:Adresa se již používá

  3. Netcat - Jak naslouchat na TCP portu pomocí IPv6 adresy?