ポートは UDP と TCP の概念です。 Ping メッセージは技術的には ICMP Echo Request と呼ばれます および ICMP エコー応答 これらは ICMP の一部です。 ICMP、TCP、および UDP は「兄弟」です。これらは相互に基づくものではなく、IP 上で実行される 3 つの別個のプロトコルです。
したがって、ping
はできません。 ポート。 できること nmap
のようなポート スキャナーを使用します。 .
nmap -p 80 onofri.org
telnet onofri.org 80
も使用できます 、他の回答の1つで提案されているように(ポートが閉じられているかフィルタリングされているとエラーが発生します)。
追加のダウンロードなしで多くのプラットフォームに組み込まれているため、Telnet を使用しています。
telnet コマンドを使用して、テストするポートに接続するだけです。以下のメッセージ、またはサービス自体からのメッセージを受け取った場合、ポートは有効です。
Minty16 ~ $ telnet localhost 139
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
接続先のサービスのコマンド シーケンスがわかっている場合は、コマンド (HTTP/FTP GET など) を入力して、ターミナルで応答と出力を確認できます。これは、HTTP 500 エラーなど、クライアントに送信されたエラー情報を表示するため、サービス自体をテストするのに非常に役立ちます。
接続が拒否されたというメッセージが表示された場合、ポートは閉じられています。
Minty16 ~ $ telnet localhost 5000
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
netcat を使用して特定のポートに接続し、接続できるかどうかを確認できます。 -v フラグは詳細度を上げて、ポートが開いているか閉じているかを示します。 -z フラグは、接続が確立されると netcat を終了させます。その後、$? を通じて終了コードを使用できます。接続が確立されたかどうかを確認します。
$ 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
さらに、tcp の -T フラグと -P フラグを指定して mtr を使用して、ポートを指定できます。これは、ICMP だけでなく、TCP を介した traceroute と同様のことを行います。ただし、これはやり過ぎかもしれません。
ため息 コメントにコードを入れることができないため、このビットを追加するために編集する必要があります。 Knoppix はそのバージョンの netcat で何か違うことをしているかもしれませんが、これは私が 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]