ファイアウォールテストに使用する項目(ポートが開いているかどうか)

ファイアウォールテストに使用する項目(ポートが開いているかどうか)

したがって、次のコマンドを使用してファイアウォールのポートが開いているかどうかをテストできます。

telnet SERVERIP PORT

.. しかし、私が知っている限り、一部のサービスはTelnetを使用してテストできません。たとえば、Telnetはサービスが使用しているプロトコルを知らず、Telnetはポートが閉じられていると報告しますが、実際にはサービスが動作していて実行しています。

質問:まず:Telnetについて話したことは正しいですか?第二:サーバーのポートが開いているかどうかをテストするには何を使用する必要がありますか? (これはファイアウォールによってブロックされません。) - これを実行できるUnixツールはありますか?

答え1

最初の質問に関しては、サービスが対話型入力を待たないことがあります。他の説明もあるかもしれません。第二に、 地図ファイアウォールのテストに使用できます。多くのオプションがあります。

最初の1,000ポートの検索(デフォルト):

nmap -v -A -PN hostname.domainname.com

または、特定の範囲にすることもできます。

nmap -v -A -p 10000-11000 -PN hostname.domainname.com

答え2

すべてのケースでTelnetが機能していないという意見が私を混乱させたため、任意のポート(この場合はHTTPサーバーとDICOMサーバー)に接続している間に高速ネットワークトレースを実行しました。

すべての場合、Telnetは単にTCP接続用のソケットを開きますが、明示的に行を入力するまでソケットが読み書きしようとしないことを確認できます。

これは、TCPスタックが標準TCPハンドシェイクのみを開始し、関連する3つのパケット(SYN / SYN-ACK / ACK)がネットワークを介して送信される唯一のパケットであることを意味します。もちろん、これは特定のアプリケーションにのみ適用されません。

tl;dr私の考えでは、Telnetは実際にその背後にあるサーバーが使用するプロトコルに関係なく、特定のポートが開いているかどうかをテストするのに絶対に適しています。

関連情報