ITよろづや

ITの参考になる情報を備忘録代わりに残していきます

UDPのポート開放の確認はマイクロソフトのPortqryフリーツールが便利でおすすめ

サーバー間で通信ポートが許可されているかどうかの確認で、よくtelnetコマンドを使う事があります。これが意外と便利なので、端末だったり、サーバーだったりで使えるようにしておくと切り分けに助かることがあります。


ちなみに、Windows Server 2016 Telnetクライアントの機能の追加は再起動いらないので、簡単に追加、削除ができるので、困った時は機能を追加します。


ちなみに、Windowsでポートが解放されているかどうかを確認するTelnetコマンドは以下になります。


telnet <IPアドレス> <ポート番号>


例として80番ポートがサーバーで解放されているかどうかの確認です。

# telnet 192.168.1.1 80


そして、telnettcpの確認を行うことができますが、udpの確認ができません。そこでおすすめなのがマイクロソフトから入手できるフリーツールが便利です。Portqry.exe は、TCP/IP 接続の問題のトラブルシューティングに役立つコマンド ライン ユーティリティになります。

 

マイクロソフトのサイトからの情報になりますが、Portqry.exe で返される TCP/IP ポートの状態には以下の 3 つがあります。


LISTENING
選択したコンピュータのポートでプロセスがリッスンしています。Portqry.exe はポートから応答を受信しました。

 

NOT LISTENING
選択したコンピュータのポートでリッスンしているプロセスはありません。Portqry.exe は、対象の UDP ポートから ICMP (Internet Control Message Protocol) の "Destination Unreachable - Port Unreachable" メッセージを受信します。対象のポートが TCP ポートの場合は、Reset フラグが設定された TCP 確認応答パケットを受信します。

 

FILTERED
コンピュータ上の選択したポートがフィルタ処理されています。Portqry.exe は、ポートから応答を受信しませんでした。ポートでプロセスがリッスンしているかどうかは不明です。デフォルトでは、TCP ポートの場合は 3 回、UDP ポートの場合は 1 回クエリを行った後、ポートがフィルタ処理されていることが報告されます。

 

Portqry.exe では、単一のポート、指定したポートの一覧、または一定範囲のポートをクエリできます。


使い方です。

portqry -n <IP or hostname> -p tcp -e <port番号>

 

例えば、192.168.1.1の80番ポートが空いているか確認したい場合は、以下のようにコマンドを実行します。

> portqry -n 192.168.1.1 -p tcp -e 80

 

ちなみに、ローカルで確認する場合には、netstatを実行することで、ポートがリッスン状態になっているかを確認すればOKですね。 入手はこちらから。

 

https://www.microsoft.com/en-us/download/details.aspx?id=17148