PortQry コマンド ライン ツールの使用

適用対象:  Windows 10 - すべてのエディション、Windows 8.1、Windows 8、Windows 7、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2008 R2、Windows Server 2008、Windows Server 2003

要約

PortQry は、TCP/IP 接続の問題のトラブルシューティングに使用できるコマンド ライン ツールです。 このツールは、ローカル コンピューターまたはリモート コンピューター上のターゲット TCP およびユーザー データグラム プロトコル (UDP) ポートの状態を報告します。 また、ローカル コンピューターのポートの使用状況に関する詳細情報も提供します。

PortQry はトラブルシューティング ツールとして使用することを目的とするため、特定の問題のトラブルシューティングに使用するユーザーには、コンピューティング環境に関する十分な知識が必要です。

PortQry は、次のいずれかのモードでコマンド プロンプトから使用できます。

  • コマンド ライン モード。 このモードを使用すると、ローカル コンピューターまたはリモート コンピューターのトラブルシューティングを行えます。
  • ローカル モード。 このモードでは、ローカル コンピューターのトラブルシューティングを目的としたいくつかのパラメーターを使用できます。
  • 対話型モード。 コマンド ライン モードと同様ですが、ショートカット コマンドとパラメーターを使用できます。

注意

PortQryUI と呼ばれる別のツールをダウンロードできます。これには、PortQry 用のグラフィカル UI が含まれています。 PortQryUI には、PortQry を簡単に使用できるいくつかの機能があります。 PortQryUI ツールを取得するには 、「PortQryUI - PortQry コマンドライン ポート スキャナーのユーザー インターフェイス」を参照してください。

PortQry のテストと結果

一般的なポート スキャン ツールは、ターゲットUDP ポートがインターネット制御メッセージ プロトコル (ICMP) "宛先到達不能" メッセージを返す場合に、ポートのリッスン状態を報告します。 この結果は、次の理由の 1 つまたは両方で正確ではない可能性があります。

  • ダイレクト データグラムに応答がない場合、ターゲット ポートが FILTERED になる可能性があります
  • ほとんどのサービスは、送信された未フォーマットのユーザー データグラムに応答しません。 通常、ポートをリッスンするサービスまたはプログラムは、特定のセッション層またはアプリケーション層プロトコルを使用するメッセージにのみ応答します。

より正確で有用な結果を得る目的で、PortQry は 2 段階のテスト プロセスを使用します。

手順 1: ポート状態テスト

PortQry は、ポートの状態を次の 3 つの値の 1 つとして報告します。

  • LISTENING: この応答は、プロセスがターゲット ポートでリッスン中かどうかを示します。 PortQry は、ターゲット ポートから応答を受け取った。
  • NOT LISTENING: この応答は、ターゲット ポートでリッスンしているプロセスが何も表示されないかどうかを示します。 PortQry は、ターゲット ポートから次のいずれかの ICMP メッセージを受信しました。

    宛先到達不能ポート到達不能

  • FILTERED: この応答は、ターゲット ポートがフィルター処理されている状態を示します。 PortQry はターゲット ポートから応答を受信しなかった。 プロセスは、ターゲット ポートでリッスンしている場合と、リッスンしていない場合があります。 既定では、PortQry は TCP ポートに対して FILTERED の応答を返す前に 3 回クエリを実行し 、FILTERED の応答を返す前に UDP ポートを 1 回クエリします。

手順 2: 特殊なテスト

ターゲット UDP ポートからの応答がない場合、PortQry はポートがリッスンまたはフィルター処理された と報告します。 ただし、接続の問題のトラブルシューティングを行う場合は、ポートがフィルター処理されているのか、リッスン中かを確認すると便利です。 これは、1 つ以上のファイアウォールを含む環境で特に当てはまる。

PortQry は、ターゲット ポートでリッスンしているサービスまたはプログラムと対話できるテストの 2 番目のセットを使用して、ポートの状態レポートを絞り込みます。 このテストでは、PortQry は次の手順を実行します。

  • PortQry は 、%SYSTEMROOT%\System32\Drivers\Etc フォルダーにあるサービス ファイルを使用して、各ポートでリッスンするサービスを決定します。
  • PortQry は、予期されるサービスまたはプログラム用に特別に構築されたメッセージを作成し、そのメッセージをターゲット ポートに送信します。 サービスまたはプログラムによっては、次のようなトラブルシューティングに役立つ情報がメッセージに要求される場合があります。
    • ドメインおよびドメイン コントローラーの情報 (LDAP クエリ)
    • 登録済みのクライアント サービスとポート (RPC クエリ)
    • 匿名アクセスを許可するかどうか (FTP クエリ)
    • MAC アドレス (NetBIOS クエリ)
    • Mspclnt.ini情報 (ISA Server クエリ)
  • PortQry は、解析、形式、およびテスト レポートの一部としてサービスまたはプログラムからの応答を返します。

ローカル コンピューターのトラブルシューティングを行う追加のテスト

PortQry をインストールしたコンピューターのポートのトラブルシューティングが必要な場合は、ローカル モードで PortQry を使用します。 コマンド ラインでローカル モード パラメーターを使用する場合は、ローカル コンピューターで次のようなタスクを実行できます。

  • ポート マッピングの列挙
  • 変更の特定のポートを監視する
  • 変更の特定のプロセスを監視する

詳細については、「Using PortQry in local (command-line)モード」を参照してください

コマンド ライン モードでの PortQry の使用

PortQry は、他のコマンド ライン ツールと同じ方法でコマンド プロンプトで実行できます。 この記事のほとんどの例では、コマンド ラインの PortQry コマンドを示します。 コマンド ライン モードでは、コマンド文字列に複数のオプションを追加して、実行するクエリと実行方法を指定できます。 コマンド ライン モードで PortQry を実行するには、次の構文を使用するコマンドを実行します。

portqry.exe -n <name_to_query> [options]

注意

このコマンドでは <name_to_query> 、クエリを実行する IP アドレス、コンピューター名、またはドメインです。 このパラメーターは必須です。 [options]はオプションのパラメーターです。

コマンドライン モードの PortQry パラメーター

次のパラメーターは、通常のコマンド ライン モードで使用できます。

パラメーター 説明 Comments
-n <name> 特定の宛先を照会する
  • これは、コマンド ライン モードに必要な唯一のパラメーターです。
  • 値 <name> は、クエリを実行するコンピューターの名前または IP アドレスを表します。 この値にはスペースを含めることはできません。
-p <protocol> 指定したプロトコルを使用する
  • 値 <protocol> は、クエリを実行するポートの種類を表します (可能な値は tcp udp 、、、または both です)。
  • 既定値は tcp です。
-e <port_number> ターゲット ポートを指定する ("endpoint"とも呼ばれる)
  • 値 <port_number> は、移動先のコンピューターでクエリを実行するポートを表します。
  • 既定値は 80 です。
-o <port_number>,<port_number> シーケンスで複数のターゲット ポートを指定する 、 <port_number> の <port_number> 値は、シーケンス内でクエリを実行するポート番号のコンマで区切られたリストを表します。 コンマの周囲にスペースを使用しない。
-r <port_number>:<port_number> ターゲット ポートの範囲を指定する
  • : <port_number> の <port_number> 値は、開始ポート番号と終了ポート番号をコロンで区切って表します。 コロンの周囲にスペースを使用しない。
  • 開始ポート番号は、終了ポート番号より小さくする必要があります。
-l <filename.txt> ログ ファイルの生成
  • 値 <filename.txt> は、ログ ファイルの名前と拡張子を表します。 この値にはスペースを含めることはできません。
  • コマンドが実行されると、PortQry はインストールされているディレクトリにログ ファイルを作成します。
  • ファイルが既に存在する場合、PortQry は、(パラメーターも使用しない限り) 上書きすることを確認するメッセージを表示 -y します。
-y 以前のログ ファイルを上書きする
  • 一緒に使用すると、PortQry はアクションの確認を求めることなく、既存のログ ファイル -y -l を上書きします。
  • PortQry コマンド文字列が含まれる場合 -l 、PortQry は無視されます -y
-sl 応答の余分な時間を待つ (低速リンク遅延とも呼ばれる) このパラメーターを使用すると、PortQry がポートがリッスンしていないか、またはフィルター処理済みと判断するまでに、PortQry が UDP ポートからの応答を待機する時間を 2 倍にできます。 低速または不当なネットワーク リンクでクエリを実行すると、通常の待機時間が短すぎて応答を受信できない場合があります。
-nr 名前の逆引き参照をスキップする
  • 既定では、ターゲット コンピューターの IP アドレスを指定する場合、PortQry は逆方向の名前参照を実行して IP アドレスを -n 名前に解決します。 このプロセスは、特に PortQry が IP アドレスを解決できない場合、時間がかかる場合があります。 クエリ -nr のこの手順をスキップする場合に使用します。
  • コンピューター名またはドメイン -n 名を指定する場合、PortQry は無視します -nr
-sp <port_number> 特定のソース ポートからのクエリ
  • この <port_number> 値は、PortQry がクエリの送信に使用するポートを表します。
  • PortQry は、別のプロセスが既に使用しているポートを使用することはできません。 指定したポートが既に使用されている場合、PortQry は次のエラー メッセージを返します。
    指定したソース ポートを使用できません。
    ポートは既に使用しています。
    使用されていないポートを指定し、コマンドを再度実行します。
  • 次の場合、PortQry はクエリの最初のテストに指定されたポートを使用しますが、2 番目のテストは使用します。
    • RPC (TCP ポートと UDP ポート 135)
    • LDAP (UDP ポート 389)
    • NetBIOS アダプターの状態クエリ (UDP ポート 137)
    このような場合、PortQry は 2 番目のテストに一時的なポートを使用します。 この場合、PortQry は出力に "一時的なソース ポートを使用する" を記録します。
  • PortQry がインストールされているコンピューターでも IPSec ポリシー エージェントが実行されている場合、UDP ポート 500 をソース ポートとして使用できない場合があります。 IPSec ポリシー エージェントを一時的にオフにし、ポート 500 を使用するには、 を実行します net stop PolicyAgent 。 テストが完了したら、実行します net start PolicyAgent
-cn !<community_name>! SMTP コミュニティのクエリ
  • 値 <community_name> は、クエリを実行する SNMP コミュニティの名前を表します。 左側の列に示すように、感嘆符を使用してこの値を区切る必要があります。
  • SNMP サービスがターゲット ポートでリッスンしていない場合、PortQry は無視されます -cn
  • 既定のコミュニティ名はです public
-q 静音モードで PortQry を実行する
  • PortQry を使用すると、エラー メッセージを除 -q くすべての画面出力が抑制されます。
  • エラー メッセージ以外の出力を表示するには、と一 -q 緒に -l 使用します。 PortQry は、通常の出力をログ ファイルに記録します。
  • ログ ファイルが既に存在し、一緒に使用している場合、PortQry はメッセージを表示せずに既存のログ ファイル -q -l を上書きします。
  • 、 、 または -q -o と一緒 -r に使用することはできません -p both
  • このパラメーターは、バッチ ファイルを使用して PortQry コマンド文字列を実行する場合に特に役立ちます。

コマンド ライン モードのパラメーターに関する備考

  • 任意のポート番号の値は、1 ~ 65535 の有効なポート番号である必要があります。含まれています。
  • -e -o 、およびパラメーター -r は相互に排他的です。 1 つの PortQry コマンドで使用できるパラメーターは 1 つのみです。
  • UDP ポート 389 (LDAP) へのクエリは、サーバー 2008 で実行されているドメイン コントローラーに対Windows可能性があります。 UDP ポート 389 で実行されているサービスの可用性を確認するには、PortQry の代わりに Nltest を使用できます。 詳細については 、「Nltest」を参照してください
  • またはを使用してポート 135 (RPC) を照会すると、PortQry は現在 RPC エンドポイント マッパーに登録されているすべてのエンドポイント -e -o を返します。

    重要

    PortQry -r を使用すると、RPC エンドポイント マッパーはクエリを実行できません。

  • ポート 53 (DNS) を照会すると、PortQry は TCP と UDP の両方を使用して portqry.microsoft.com DNS クエリを送信します。 サーバーが応答を返す場合、PortQry はポートが LISTENING と判断します。

    注意

    DNS サーバーが正または負の応答を返すかどうかは重要ではありません。 応答は、ポートがリッスン中かどうかを示します。

ローカル (コマンド ライン) モードでの PortQry の使用

リモート ターゲット コンピューターでポートをクエリする代わりに、ローカル モードで PortQry を使用して、PortQry が実行されているローカル コンピューター上の TCP ポートと UDP ポートに関する詳細情報を取得できます。 ローカル モードで PortQry を実行するには、次の構文を使用します。

portqry -local | -wpid <pid> | -wport <port_number> [-wt <seconds>] [-l <filename.txt>] [-v]

この構文のプレースホルダーについては、ローカル モード パラメーターの次の表で説明します。

パラメーター 説明 Comments
-local ローカル情報の取得
  • ローカル コンピューターで現在アクティブなすべての TCP および UDP ポート マッピングを列挙します。 この出力は、コマンドによって生成される出力 netstat.exe -an と似ています。
  • PID からポートへのマッピングをサポートするコンピューターでは、ローカル コンピューター上のポートを使用しているプロセスの PID が出力に含まれます。 verbose オプション ( ) を使用する場合、出力には PID が属するサービスの名前も含まれ、プロセスが読み込まれたすべてのモジュール -v が一覧表示されます。 この情報を使用して、コンピューター上で実行されている特定のプログラムまたはサービスに関連付けられているポートを特定できます。
-wport <port_number> ウォッチ ポート
  • 特定のポートで変更を監視します。 値 <port_number> は、監視するポートを表します。
  • TCP ポートの場合、PortQry は次の状態の間で変更を報告します。
    • CLOSE_WAIT
    • クローズ
    • 確立された
    • FIN_WAIT_1
    • LAST_ACK
    • LISTEN
    • SYN_RECEIVED
    • SYN_SEND
    • TIMED_WAIT
  • UDP ポートの場合、PortQry はプログラムがポートにバインドされているかどうかを報告しますが、UDP ポートがデータグラムを受信するかどうかを報告しません。
  • 監視を停止するには、Esc キーを押します。
-wpid <pid> 監視プロセス ID (PID)
  • 接続の数と状態の変更について、特定の PID を監視します。 この <process_number> 値は、監視する PID を表します。
  • 監視を停止するには、Esc キーを押します。
-wt <seconds> 特定の間隔で確認する
  • /<秒の値で表される間隔または間隔で識別されるターゲットの状態 -wport "-wpid>します。
  • 値 <seconds> は 1 ~ 1,200 (含む) である必要があります。
  • 既定値は 60 です。
  • それ自体で -wt 、またはと一緒に使用することはできません -local
-l <filename.txt> ログ ファイルの生成
  • 値 <filename.txt> は、ログ ファイルの名前と拡張子を表します。 この値にはスペースを含めることはできません。
  • コマンドが実行されると、PortQry はインストールされているディレクトリにログ ファイルを作成します。
  • ファイルが既に存在する場合、PortQry は、(パラメーターも使用しない限り) 上書きすることを確認するメッセージを表示 -y します。
-y 以前のログ ファイルを上書きする
  • 一緒に使用すると、PortQry はアクションの確認を求めることなく、既存のログ ファイル -y -l を上書きします。
  • PortQry コマンド文字列が含まれる場合 -l 、PortQry は無視されます -y
-v 詳細な出力を生成する PortQry は、画面出力 (およびログ ファイルを使用する場合) に追加の詳細を提供します。

ローカル モードのパラメーターに関する備考

  • -local -wport 、およびパラメーター -wpid は相互に排他的です。 これらのパラメーターは、1 つの PortQry コマンド文字列でのみ使用できます。
  • この -q パラメーターはローカル モードでは機能しません。
  • 場合によっては、PortQry は System Idle プロセス (PID 0) が一部の TCP ポートを使用しているという報告を受け取る場合があります。 この動作は、ローカル プログラムが TCP ポートに接続してから停止した場合に発生する可能性があります。 プログラムが実行されなくなった場合でも、プログラムのポートへの TCP 接続は、数分間 "Timed Wait" 状態に置き去りになる場合があります。 このような場合、PortQry はポートが使用されているのを検出しますが、PID がリリースされたため、ポートを使用しているプログラムを識別することはできません。 既定では、ポートはセグメントの最大有効期間の 2 倍の間、"Timed Wait" 状態のままです。
  • 各プロセスについて、PortQry はアクセスできる限り多くの情報を報告します。 一部の情報へのアクセスは制限されています。 たとえば、Idle プロセスと CSRSS プロセスのモジュール情報へのアクセスは、アクセス制限によってユーザー レベルのコードが開かないので禁止されています。 最適な結果を得る場合は、ローカル管理者または同様の資格情報を持つアカウントのコンテキストでローカル モード コマンドを実行します。
  • どちらかまたは一緒に使用する場合は、Esc キーを使用して、Ctrl + C ではなく PortQry を中断して -wport -wpid -l 終了します。 Esc キーを押して、PortQry がログ ファイルを正しく閉じて終了するようにする必要があります。 Esc の代わりに Ctrl + C キーを押して PortQry を停止すると、ログ ファイルが空になったり破損したりすることがあります。

対話型モードでの PortQry の使用

コンピューター間の接続に関する問題のトラブルシューティングを行う場合は、多くの繰り返しコマンドを入力する必要があります。 このようなアクションは、対話型モードで PortQry を使用することで、より簡単に実行できます。

対話型モードは 、Nslookup DNS ユーティリティまたは Nblookup WINS ユーティリティの対話型機能に似ています。

対話型モードで PortQry を起動するには、パラメーターを使用 -i します。 たとえば、次のコマンドを実行します。

portqry -i

このコマンドの出力は、次の抜粋のようになります。

Portqry Interactive Mode

Type 'help' for a list of commands

Default Node: 127.0.0.1

Current option values:  
   end port= 80  
   protocol= TCP  
   source port= 0 (ephemeral)
>

対話型モード コマンド

対話型モードでは、次のコマンドを使用できます。

コマンド 説明 Comments
node <name> または n <name> クエリの送信先を設定する
  • 値 <name> は、クエリを実行するコンピューターの名前または IP アドレスを表します。この値にはスペースを含めることはできません。
  • 既定値は (ローカル 127.0.0.1 コンピューター) です。
query または q クエリの送信
  • 現在の設定を使用して、現在の宛先を照会します。
  • 既定のプロトコルはです tcp
  • 既定の宛先ポートは TCP ポート 80 です。
  • 既定の送信元ポートはポート 0 (一時的なポート) です。
  • コマンドでいくつかのショートカットのいずれかを使用して、いくつかの一般的なクエリ query のいずれかを実行できます。 使用可能なショートカットの一覧については、「対話型モードのクエリ ショートカット 」を参照してください
set <option>=<value> クエリ オプションの値を設定する
  • このコマンドでは、設定するオプションの名前を表し、オプションの <option> <value> 新しい値を表します。
  • 使用可能なオプションの現在の値の一覧を表示するには、と入力します set all
  • 使用可能なオプションの一覧については、「対話型モードオプション 」を参照してください
exit 対話型モードを終了する

対話型モードのクエリ ショートカット

次のショートカットをコマンドと共に使用すると、ポートとプロトコルのオプションを設定せずに一般的なクエリ query を実行できます。 次の構文を使用してください。

q <shortcut>

注意

このコマンドでは <shortcut> 、次の表のいずれかのショートカットを表します。 ショートカットを省略すると、コマンド q は TCP ポート 80 を照会します。

ショートカット クエリするポート
dns TCP ポート 53、UDP ポート 53。
ftp TCP ポート 21
imap TCP ポート 143
ipsec UDP ポート 500
isa TCP ポート 1745、UDP ポート 1745
ldap TCP ポート 389、UDP ポート 389
l2tp UDP ポート 1701
mail TCP ポート 25、110、および 143
pop3 TCP ポート 110
rpc TCP ポート 135、UDP ポート 135
smtp TCP ポート 25
snmp UDP ポート 161
sql TCP ポート 1433、UDP ポート 1434
tftp UDP ポート 69

たとえば、対話型モード q dns に入ると、通常のコマンド ライン portqry -n 127.0.0.1 -p both -e 135 モードでの実行と同じです。

対話型モードのオプション

コマンドを使用して set 、ソース ポートや低速リンク遅延などのオプションを設定できます。 次の構文を使用してください。

set <option>=<value>

注意

このコマンドでは、設定するオプションの名前を表し、オプションの <option> <value> 新しい値を表します。

オプション 説明 Comments
set all オプションの現在の値を表示する
set port=<port_number>
set e=<port_number>
ターゲット ポートを指定する 値 <port_number> は、移動先のコンピューターでクエリを実行するポートを表します。
set sport=<port_number>
set sp=<port_number>
送信元ポートを指定する
  • この <port_number> 値は、PortQry がクエリの送信に使用するポートを表します。
  • PortQry は、別のプロセスが既に使用しているポートを使用することはできません。
  • ポート番号を 0 に指定すると、PortQry は一時的なポートを使用します。
set protocol=<protocol>
set p=<protocol>
使用するプロトコルを指定する この <protocol> 値は、クエリするポートの種類 (、、または tcp udp ) を表します both
set cn=<community_name> SMTP コミュニティの指定
  • 値 <community_name> は、クエリを実行する SNMP コミュニティの名前を表します。
  • SNMP サービスがターゲット ポートでリッスンしていない場合、PortQry は無視されます -cn
  • 既定のコミュニティ名はです public
set nr 名前の逆引き参照をオフまたはオンにする
  • 既定では、クエリの宛先として IP アドレスを設定している場合、PortQry は IP アドレスを名前に解決します。 このオプションを変更すると、PortQry は名前解決手順をスキップします。
  • 名前の逆引き参照を再度有効にするには、もう set nr 一度実行します。
set sl 低速リンク遅延のオン/オフを切り替えます
  • このオプションを変更すると、PortQry は UDP ポートからの応答を待機する時間の長さを倍にし、PortQry はポートがリッスンしていないか、フィルター処理されたと判断します。 低速または不当なネットワーク リンクでクエリを実行すると、通常の待機時間が短すぎて応答を受信できない場合があります。
  • 低速リンク遅延を再びオフにする場合は、もう set sl 一度実行します。

IP アドレス 10.0.1.10 を持つコンピューターにクエリを実行するとします。 対話型モードのコマンド プロンプトで、と入力します n 10.0.1.10 。 このコマンドは、次の抜粋のような出力を生成します。

Default Node: 10.0.1.10

>

DNS クエリを送信するには、対話型 q dns モードのコマンド プロンプトで入力します。 このコマンドは、次の抜粋のような出力を生成します。

resolving service name using local services file...
UDP port resolved to the 'domain' service

IP address resolved to myserver.contoso.com

querying...

UDP port 53 (domain service): LISTENING

>

ポートとサービス間の関連付けをカスタマイズする

既定では、Windowsベースのコンピューターには 、%SYSTEMROOT%\System32\Drivers\Etc フォルダーにある Services ファイルがあります。 PortQry は、このファイルを使用して、対応するサービス名にポート番号を解決します。 PortQry は、この情報を使用してクエリの形式を選択します。 このファイルを編集して、別のポートに書式設定されたメッセージを送信する PortQry を指示できます。 たとえば、一般的な Services ファイルに次のエントリが表示されます。

ldap              389/tcp                           #Lightweight Directory Access Protocol

このポート エントリを編集するか、追加のエントリを追加できます。 ポート 1025 に LDAP クエリを送信するように PortQry に強制するには、次のようにエントリを変更します。

ldap              1025/tcp                           #Lightweight Directory Access Protocol

次の例では、PortQry とそのパラメーターを使用する方法を示します。

ローカル モード

コマンド ライン モード

ローカル コンピューターのクエリ

出力は portqry -local 、次の抜粋のようになります。

TCP/UDP Port Usage

96 active ports found

Port Local IPState Remote IP:Port  
TCP 80 0.0.0.0 LISTENING 0.0.0.0:18510  
TCP 80 169.254.149.9 TIME WAIT 169.254.74.55:3716  
TCP 80 169.254.149.9 TIME WAIT 169.254.200.222:3885  
TCP 135 0.0.0.0 LISTENING 0.0.0.0:10280  
UDP 135 0.0.0.0 :  
UDP 137 169.254.149.9 :  
UDP 138 169.254.149.9 :  
TCP 139 169.254.149.9 LISTENING 0.0.0.0:43065  
TCP 139 169.254.149.9 ESTABLISHED 169.254.4.253:4310  
TCP 139 169.254.149.9 ESTABLISHED 169.254.74.55:3714  

アクセスが制限されている可能性がある場合にローカル コンピューターにクエリを実行する

前の例のように、ローカル モードで PortQry を実行すると、次の抜粋のような出力が表示される場合があります。 このような出力は、PortQry が使用しているセキュリティ コンテキストに、要求された情報にアクセスするための十分なアクセス許可を持たなかったかどうかを示します。

Port and Module Information by Process

Note: restrictions applied to some processes may
prevent Portqry from accessing more information

For best results run Portqry in the context of
the local administrator

======================================================  
Process ID: 0 (System Idle Process)

PIDPortLocal IPState Remote IP:Port  
0TCP 4442 169.254.113.96 TIME WAIT 169.254.5.136:80  
0TCP 4456 169.254.113.96 TIME WAIT 169.254.5.44:445  

Port Statistics

TCP mappings: 2  
UDP mappings: 0

TCP ports in a TIME WAIT state: 2 = 100.00%

Could not access module information for this process

======================================================

特定の間隔を使用してプロセス ID を監視する

次のコマンドは、特定のプロセスを監視します。

portqry.exe -wpid 1276 -wt 2 -v -l pid.txt

その結果、PortQry は次のアクションを実行します。

  • 1276 PID を持つプロセスを識別し、Esc キーを押すまで 2 秒ごとに使用しているポートの状態を確認します。
  • ログ ファイルを作成 pid.txt。 その名前を持つファイルが既に存在する場合、PortQry はファイルを上書きすることを確認するメッセージを表示します。
  • 余分な詳細な出力を含む、ログ ファイルに出力を記録します。

ログ ファイルの内容は、次の抜粋のようになります。

PortQry Version 2.0 Log File
  
System Date: <DateTime>
  
Command run:  
portqry -wpid 1276 -wt 2 -v -l pid.txt
  
Local computer name:
  
host123
  
Watching PID: 1276
  
Checking for changes every 2 seconds
  
verbose output requested
  
Service Name: DNS  
Display Name: DNS Server  
Service Type: runs in its own process

============
System Date: <DateTime>

======================================================

Process ID: 1276 (dns.exe)

Service Name: DNS
Display Name: DNS Server
Service Type: runs in its own process

PIDPortLocal IPState Remote IP:Port
1276TCP 53 0.0.0.0 LISTENING 0.0.0.0:2160
1276TCP 1087 0.0.0.0 LISTENING 0.0.0.0:37074
1276UDP 1086 0.0.0.0 :
1276UDP 2126 0.0.0.0 :
1276UDP 53 127.0.0.1 :
1276UDP 1085 127.0.0.1 :
1276UDP 53 169.254.11.96 :

Port Statistics

TCP mappings: 2
UDP mappings: 5

TCP ports in a LISTENING state: 2 = 100.00%

Loaded modules:
C:\WINDOWS\System32\dns.exe (0x01000000)
C:\WINDOWS\system32\ntdll.dll (0x77F40000)
C:\WINDOWS\system32\kernel32.dll (0x77E40000)
C:\WINDOWS\system32\msvcrt.dll (0x77BA0000)
C:\WINDOWS\system32\ADVAPI32.dll (0x77DA0000)
C:\WINDOWS\system32\RPCRT4.dll (0x77C50000)
C:\WINDOWS\System32\WS2_32.dll (0x71C00000)
C:\WINDOWS\System32\WS2HELP.dll (0x71BF0000)
C:\WINDOWS\system32\USER32.dll (0x77D00000)
C:\WINDOWS\system32\GDI32.dll (0x77C00000)
C:\WINDOWS\System32\NETAPI32.dll (0x71C40000)

ターゲットとプロトコルを指定する

注意

このセクションの各例では、既定のポートであるポート 80 を照会します。

次のコマンドは、完全修飾ドメイン名 (FQDN) を使用して指定されたコンピューター上の既定の TCP ポートを照会します。

portqry -n myDomainController.example.com -p tcp

次のコマンドは、コンピューター名を使用して指定されたコンピューター上の既定の UDP ポートを照会します。

portqry -n myServer -p udp

次のコマンドは、IP アドレスを使用して指定されたコンピューターの既定の TCP ポートと UDP ポートを照会します。

portqry -n 192.168.1.20 -p both

次のコマンドは、前のコマンドと同じクエリを実行しますが、名前解決手順をスキップします。

portqry -n 192.168.1.20 -p both -nr

次のコマンドは、Web サーバーの既定の TCP ポートを照会します。

portqry -n www.widgets.microsoft.com

1 つ以上のターゲット ポートを指定する

次のコマンドは、TCP ポート 25 を照会してメール サーバーの SMTP サービスをテストします。

portqry -n mail.example.com -p tcp -e 25

次のコマンドは、IP アドレス 192.168.1.20 を持つコンピューターの TCP ポート 60897 と UDP ポート 60897 を照会します。

portqry -n 192.168.1.20 -p both -e 60897

次のコマンドは、コンピューター "myServer" の UDP ポート 139、1025、および 135 (その順序で) を照会します。

portqry -n myServer -p udp -o 139,1025,135

次のコマンドは、コンピューター "myServer" のポート 135 からポート 139 (含む) の範囲を照会します。

portqry -n myServer -p udp -r 135:139

PortQry 出力のログ ファイルを指定する

次のコマンドは、TCP ポート 143 をクエリして、mail.widgets.microsoft.com ファイルに出力を portqry.txt します。 ファイルが既に存在する場合、PortQry は確認を求めることなく上書きします。

portqry -n mail.widgets.microsoft.com -p tcp -e 143 -l portqry.txt -y

次のコマンドは、TCP ポート 143、110、および 25 をクエリ mail.widgets.microsoft.com。 ターゲット ポートごとに、PortQry は応答を通常の 2 倍待機します。

  portqry -n mail.widgets.microsoft.com -p tcp -o 143,110,25 -sl

送信元ポートの指定

次のコマンドは、ローカル コンピューター上の UDP ポート 3001 (使用可能な場合) を使用して、192.168.1.20 の UDP ポート 53 にクエリを送信します。 サービスが、そのポートをリッスンし、クエリに応答する場合は、ローカル コンピューター上の UDP ポート 3001 に応答を送信します。

portqry -p udp -e 53 -sp 3001 -n 192.168.1.20

次のコマンドは、ローカル コンピューター上の UDP ポート 3000 (使用可能な場合) を使用して、ローカル コンピューターの UDP ポート 389 にクエリを送信 myDomainController.contoso.com。 既定では、LDAP サービスはこのポートでリッスンしている必要があります。 LDAP サービスが最初のクエリに応答する場合、PortQry は一時的なソース ポートを使用して、書式設定されたクエリを送信し、応答を受信します。

portqry -n myDomainController.contoso.com -e 389 -sp 3000

バッチ ファイルを使用して、静音モードで PortQry を実行する

次のテキストは、静音モードで PortQry を実行するバッチ ファイルの例です。

:Top
portqry -n 169.254.18.22 -e 443 -nr -l pqlog.txt -q
:end

このバッチ ファイルを実行すると、PortQry はログ ファイルを生成し、この名前は pqlog.txt。 このファイルの内容は、次のようになります。

PortQry Version 2.0 Log File

System Date: Thu Sep 16 10:35:03 2021

Command run:
 portqry -n 169.254.18.22 -e 443 -nr -l pqlog.txt -q

Local computer name:

 SOURCESERVER

Querying target system called:

 169.254.18.22

TCP port 443 (https service): LISTENING


========= end of log file ========= 

クエリ ポート 135 (RPC サービス)

次のコマンドは、myServer コンピューター上の UDP ポート 135 を照会します。 既定では、RPC サービスはこのポートでリッスンしている必要があります。

portqry -n myServer -p udp -e 135

その結果、PortQry は次のアクションを実行します。

  • PortQry は 、%SYSTEMROOT%\System32\Drivers\Etc フォルダーの Services ファイルを使用して、UDP ポート 135 をサービスに解決します。 既定の構成を使用して、PortQry は RPC エンドポイント マッパー サービス (Epmap) にポートを解決します。
  • PortQry は、書式設定されていないユーザー データグラムを宛先コンピューターの UDP ポート 135 に送信します。
    PortQry はターゲット ポートから応答を受け取らない。 これは、RPC エンドポイント マッパー サービスが正しい形式の RPC クエリにのみ応答する理由です。 PortQry は、ポートが リッスンまたはフィルター処理されたと報告します
  • PortQry は、現在 RPC エンドポイント マッパーに登録されているすべてのエンドポイントを要求する正しい形式の RPC クエリを作成します。 PortQry は、このクエリを宛先コンピューターの UDP ポート 135 に送信します。
  • 応答に応じて、PortQry は次のいずれかのアクションを実行します。
    • PortQry がこのクエリに対する応答を受け取った場合、PortQry はユーザーに対する応答全体を返し、ポートがリッスンしているという報告を します
    • PortQry がこのクエリに対する応答を受信しない場合は、ポートが FILTERED と報告されます
UDP port 135 (epmap service): LISTENING or FILTERED  
Querying Endpoint Mapper Database...  
Server's response:  

UUID: 50abc2a4-574d-40b3-9d66-ee4fd5fba076
ncacn_ip_tcp:169.254.12.191[4144]

UUID: ecec0d70-a603-11d0-96b1-00a0c91ece30 NTDS Backup Interface
ncacn_np:\\MYSERVER[\PIPE\lsass]

UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface
ncacn_ip_tcp:169.254.12.191[1030]

UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface
ncadg_ip_udp:169.254.12.191[1032]

UUID: 12345678-1234-abcd-ef00-01234567cffb
ncacn_np:\\MYSERVER[\PIPE\lsass]

UUID: 12345678-1234-abcd-ef00-01234567cffb
ncacn_np:\\MYSERVER[\PIPE\POLICYAGENT]

Total endpoints found: 6

==== End of RPC Endpoint Mapper query response ====

UDP port 135 is LISTENING

この出力から、サービスがポートでリッスンしているかどうかだけでなく、どのサービスまたはプログラムが宛先コンピューターの RPC エンドポイント マッパー データベースに登録されているのかを判断できます。 出力には、各プログラムの汎用一意識別子 (UUID)、注釈付き名前 (存在する場合)、各プログラムが使用するプロトコル、プログラムがバインドされているネットワーク アドレス、および角かっこで囲まれたプログラムのエンドポイントが含まれます。

注意

ポート範囲をスキャンする PortQry コマンドでオプションを指定した場合、PortQry は RPC エンドポイント マッパーにエンドポイント情報を -r 照会しません。 このパラメーターは、さまざまなポートのスキャンを加速します。