Freigeben über


Verwenden des Befehlszeilentools "PortQry"

PortQry ist ein Befehlszeilentool, mit dem Sie probleme mit TCP/IP-Konnektivität beheben können. Dieses Tool meldet den Status der Ziel-TCP- und UDP-Ports (User Datagram Protocol) auf einem lokalen Computer oder auf einem Remotecomputer. Außerdem werden detaillierte Informationen zur Portnutzung des lokalen Computers bereitgestellt.

Da PortQry als Problembehandlungstool verwendet werden soll, sollten Benutzer, die es verwenden, um ein bestimmtes Problem zu beheben, über ausreichende Kenntnisse ihrer Computerumgebung verfügen.

Sie können PortQry über eine Eingabeaufforderung in einem von mehreren Modi verwenden:

  • Befehlszeilenmodus. Sie können diesen Modus verwenden, um probleme mit lokalen oder Remotecomputern zu beheben.
  • Lokaler Modus. In diesem Modus können Sie mehrere Parameter verwenden, die für die Problembehandlung des lokalen Computers vorgesehen sind.
  • Interaktiver Modus. Ähnlich wie im Befehlszeilenmodus können Sie jedoch Tastenkombinationen und Parameter verwenden.

Notiz

Sie können ein separates Tool namens PortQryUI herunterladen, das eine grafische Benutzeroberfläche für PortQry enthält. PortQryUI verfügt über mehrere Features, die die Verwendung von PortQry vereinfachen können. Informationen zum Abrufen des PortQryUI-Tools finden Sie unter PortQryUI – Benutzeroberfläche für den PortQry-Befehlszeilenportscanner.

Gilt für: Unterstützte Versionen von Windows

PortQry-Tests und -Ergebnisse

Typische Portscantools melden, dass der Port über einen ÜBERWACHUNGsstatus verfügt, wenn der ZIEL-UDP-Port keine ICMP-Nachricht (Internet Control Message Protocol) "Ziel nicht erreichbar" zurückgibt. Dieses Ergebnis kann aus einem oder beiden der folgenden Gründe nicht korrekt sein:

  • Wenn keine Antwort auf ein weitergeleitetes Datagramm vorhanden ist, wird der Zielport möglicherweise GEFILTERT.
  • Die meisten Dienste reagieren nicht auf ein unformatiertes Benutzerdatendiagramm, das an sie gesendet wird. In der Regel antwortet der Dienst oder das Programm, der auf einen Port lauscht, nur auf eine Nachricht, die ein bestimmtes Sitzungsschicht- oder Anwendungsschichtprotokoll verwendet.

Um genauere und nützlichere Ergebnisse zu erzielen, verwendet PortQry einen zweistufigen Testprozess.

Schritt 1: Portstatustest

PortQry meldet den Status eines Ports als einen von drei Werten:

  • ÜBERWACHUNG: Diese Antwort gibt an, dass ein Prozess auf den Zielport lauscht. PortQry hat eine Antwort vom Zielport erhalten.
  • NICHT ÜBERWACHEN: Diese Antwort gibt an, dass kein Prozess auf den Zielport lauscht. PortQry hat eine der folgenden ICMP-Nachrichten vom Zielport empfangen:

    Nicht erreichbarer Zielport

  • GEFILTERT: Diese Antwort gibt an, dass der Zielport gefiltert wird. PortQry hat keine Antwort vom Zielport erhalten. Ein Prozess lauscht möglicherweise oder nicht auf den Zielport. PortQry fragt einen TCP-Port standardmäßig dreimal ab, bevor er eine Antwort von FILTERED zurückgibt, und fragt einen UDP-Port einmal ab, bevor eine Antwort von FILTERED zurückgegeben wird.

Schritt 2: Spezialisierte Tests

Wenn keine Antwort von einem UDP-Zielport vorhanden ist, meldet PortQry, dass der Port ÜBERWACHT oder GEFILTERT ist. Wenn Sie jedoch ein Verbindungsproblem beheben, ist es hilfreich zu wissen, ob ein Port gefiltert oder überwacht wird. Dies gilt insbesondere in einer Umgebung, die eine oder mehrere Firewalls enthält.

PortQry optimiert seinen Portstatusbericht mithilfe einer zweiten Gruppe von Tests, die mit dem Dienst oder Programm interagieren können, der auf den Zielport lauscht. Für diesen Test führt PortQry die folgenden Aktionen aus:

  • PortQry verwendet die Dienstdatei, die sich im Ordner "%SYSTEMROOT%\System32\Drivers\Etc " befindet, um zu bestimmen, welcher Dienst auf jedem Port überwacht wird.
  • PortQry erstellt eine Nachricht, die speziell für den erwarteten Dienst oder das erwartete Programm erstellt wird, und sendet diese Nachricht dann an den Zielport. Je nach Dienst oder Programm kann die Nachricht Informationen anfordern, die für die Problembehandlung hilfreich sind, z. B. die folgenden:
    • Domänen- und Domänencontrollerinformationen (LDAP-Abfragen)
    • Registrierte Clientdienste und Ports (RPC-Abfragen)
    • Gibt an, ob anonymer Zugriff zulässig ist (FTP-Abfragen)
    • MAC-Adresse (NetBIOS-Abfragen)
    • Mspclnt.ini Dateiinformationen (ISA Server-Abfragen)
  • PortQry analysiert, formatiert und gibt dann die Antwort vom Dienst oder Programm als Teil des Testberichts zurück.

Zusätzliche Tests zur Problembehandlung des lokalen Computers

Wenn Sie Probleme mit Ports auf dem Computer beheben müssen, auf dem Sie PortQry installiert haben, verwenden Sie PortQry im lokalen Modus. Wenn Sie die Parameter für den lokalen Modus in der Befehlszeile verwenden, können Sie Aufgaben wie die folgenden auf dem lokalen Computer ausführen:

  • Aufzählen von Portzuordnungen
  • Überwachen eines bestimmten Ports auf Änderungen
  • Überwachen eines bestimmten Prozesses auf Änderungen

Weitere Informationen finden Sie unter Verwenden von PortQry im lokalen Modus (Befehlszeile).

Verwenden von PortQry im Befehlszeilenmodus

Sie können PortQry an einer Eingabeaufforderung auf die gleiche Weise wie jedes andere Befehlszeilentool ausführen. Die meisten Beispiele in diesem Artikel zeigen Befehlszeilen-PortQry-Befehle. Im Befehlszeilenmodus können Sie der Befehlszeichenfolge mehrere Optionen hinzufügen, um anzugeben, welche Abfrage ausgeführt werden soll und wie sie ausgeführt werden soll. Um PortQry im Befehlszeilenmodus auszuführen, führen Sie einen Befehl aus, der die folgende Syntax verwendet:

portqry.exe -n <name_to_query> [options]

Notiz

In diesem Befehl <ist name_to_query> die IP-Adresse, der Computername oder die Domäne, die Sie abfragen möchten. Dieser Parameter ist erforderlich. [options] sind die optionalen Parameter.

PortQry-Parameter für den Befehlszeilenmodus

Die folgenden Parameter sind im regulären Befehlszeilenmodus verfügbar:

Parameter Beschreibung Kommentare
-n <name> Abfragen des spezifischen Ziels
  • Dies ist der einzige erforderliche Parameter für den Befehlszeilenmodus.
  • Der <Name-Wert> stellt den Namen oder die IP-Adresse des abzufragenden Computers dar. Dieser Wert darf keine Leerzeichen enthalten.
-p <protocol> Verwenden des angegebenen Protokolls
  • Der <Protokollwert> stellt den Typ der Port-zu-Abfrage dar (mögliche Werte sind tcp, oder udpboth).
  • Der Standardwert ist tcp.
-e <port_number> Angeben des Zielports (auch als "Endpunkt" bezeichnet)
  • Der <port_number> Wert stellt den Port zum Abfragen auf dem Zielcomputer dar.
  • Der Standardwert ist 80.
-o <port_number>,<port_number> Angeben mehrerer Zielports in einer Sequenz Die <werte port_number,port_number<>> stellen eine durch Trennzeichen getrennte Liste der Portnummern dar, die in einer Sequenz abgefragt werden sollen. Verwenden Sie keine Leerzeichen um die Kommas.
-r <port_number>:<port_number> Angeben eines Bereichs von Zielports
  • Die <Werte port_number>:<port_number> stellen die Anfangs- und Endportnummern dar, die durch einen Doppelpunkt getrennt sind. Verwenden Sie keine Leerzeichen um den Doppelpunkt.
  • Die Startportnummer muss kleiner als die endende Portnummer sein.
-l <filename.txt> Generieren einer Protokolldatei
  • Der <wert filename.txt> stellt den Namen und die Erweiterung der Protokolldatei dar. Dieser Wert darf keine Leerzeichen enthalten.
  • Wenn der Befehl ausgeführt wird, erstellt PortQry die Protokolldatei im Verzeichnis, in dem er installiert ist.
  • Wenn die Datei bereits vorhanden ist, fordert PortQry Sie auf, zu bestätigen, dass Sie sie überschreiben möchten (es sei denn, Sie verwenden auch den -y Parameter).
-y Überschreiben der vorherigen Protokolldatei
  • Wenn Sie zusammen mit -lPortQry arbeiten-y, wird die vorhandene Protokolldatei überschrieben, ohne Dass Sie aufgefordert werden, die Aktion zu bestätigen.
  • Wenn die PortQry-Befehlszeichenfolge nicht enthalten -list, ignoriert -yPortQry .
-sl Warten Sie zusätzliche Zeit für die Antwort (auch als verzögerungslanger Link bezeichnet) Verwenden Sie diesen Parameter, um die Zeit zu verdoppeln, zu der PortQry auf eine Antwort von einem UDP-Port wartet, bevor PortQry bestimmt, dass der Port NICHT ÜBERWACHT oder gefiltert ist. Wenn Sie langsame oder unzuverlässige Netzwerkverbindungen abfragen, ist die normale Wartezeit möglicherweise zu kurz, um eine Antwort zu erhalten.
-nr Reversenamensuche überspringen
  • Wenn Sie -n eine IP-Adresse für den Zielcomputer angeben, führt PortQry standardmäßig eine Umgekehrte Namenssuche durch, um die IP-Adresse in einen Namen aufzulösen. Dieser Vorgang kann zeitaufwändig sein, insbesondere, wenn PortQry die IP-Adresse nicht auflösen kann. Wird verwendet -nr , um diesen Schritt der Abfrage zu überspringen.
  • Wenn Sie -n einen Computer oder Domänennamen angeben, ignoriert -nrPortQry .
-sp <port_number> Abfrage von einem bestimmten Quellport
  • Der <port_number-Wert> stellt den Port dar, den Port PortQry zum Senden der Abfrage verwendet.
  • PortQry kann keinen Port verwenden, den ein anderer Prozess bereits verwendet. Wenn der angegebene Port bereits verwendet wird, gibt PortQry die folgende Fehlermeldung zurück:
    Der angegebene Quellport kann nicht verwendet werden.
    Port wird bereits verwendet.
    Geben Sie einen Port an, der nicht verwendet wird, und führen Sie den Befehl erneut aus.
  • In den folgenden Fällen verwendet PortQry den angegebenen Port für den ersten Test der Abfrage, aber nicht den zweiten Test:
    • RPC (TCP- und UDP-Ports 135)
    • LDAP (UDP-Port 389)
    • NetBIOS-Adapterstatusabfrage (UDP-Port 137)
    In diesen Fällen verwendet PortQry einen kurzlebigen Port für den zweiten Test. In diesem Fall zeichnet PortQry "Using ephemeral source port" in seiner Ausgabe auf.
  • Wenn der Computer, auf dem PortQry installiert ist, auch den IPSec-Richtlinien-Agent ausführt, steht UDP-Port 500 möglicherweise nicht als Quellport zur Verfügung. Um den IPSec-Richtlinien-Agent vorübergehend zu deaktivieren, damit Sie Port 500 verwenden können, führen Sie die Ausführung aus net stop PolicyAgent. Wenn Sie den Test abgeschlossen haben, führen Sie die Ausführung aus net start PolicyAgent.
-cn !<community_name>! Abfragen einer SNMP-Community
  • Der <community_name> Wert stellt den Namen der SNMP-Community dar, um abzufragen. Sie müssen diesen Wert durch Ausrufezeichen trennen, wie in der linken Spalte dargestellt.
  • Wenn der SNMP-Dienst nicht auf den Zielport lauscht, ignoriert -cnPortQry .
  • Der Standardmäßige Communityname lautet public.
-q PortQry im ruhigen Modus ausführen
  • Bei Verwendung -qunterdrückt PortQry alle Bildschirmausgabe mit Ausnahme von Fehlermeldungen.
  • Verwenden Sie -q zusammen mit -l. PortQry zeichnet die normale Ausgabe in der Protokolldatei auf.
  • Wenn bereits eine Protokolldatei vorhanden ist und Sie zusammen mit -lihnen verwenden-q, überschreibt PortQry die vorhandene Protokolldatei ohne Aufforderung.
  • Sie können nicht -q zusammen mit -o, , -roder -p both.
  • Dieser Parameter ist besonders hilfreich, wenn Sie eine Batchdatei zum Ausführen einer PortQry-Befehlszeichenfolge verwenden.

Hinweise für Parameter im Befehlszeilenmodus

  • Ein beliebiger Portnummernwert muss eine gültige Portnummer zwischen 1 und 65535 (einschließlich) sein.
  • Die Parameter , und -r die -eParameter -oschließen sich gegenseitig aus. Ein einzelner PortQry-Befehl kann nur einen dieser Parameter verwenden.
  • Eine Abfrage an UDP-Port 389 (LDAP) funktioniert möglicherweise nicht für Domänencontroller, die Windows Server 2008 ausführen. Um die Verfügbarkeit des Diensts zu überprüfen, der auf UDP-Port 389 ausgeführt wird, können Sie Nltest anstelle von PortQry verwenden. Weitere Informationen finden Sie unter Nltest.
  • Wenn Sie Port 135 (RPC) mithilfe oder -oabfragen-e, gibt PortQry alle Endpunkte zurück, die derzeit bei der RPC-Endpunktzuordnung registriert sind.

    Wichtig

    Wenn Sie den -rPortQry verwenden, fragt PortQry nicht die RPC-Endpunktzuordnung ab.

  • Beim Abfragen von Port 53 (DNS) sendet PortQry eine DNS-Abfrage portqry.microsoft.com sowohl mit TCP als auch UDP. Wenn der Server eine Antwort zurückgibt, bestimmt PortQry, dass der Port ÜBERWACHT wird.

    Notiz

    Es ist nicht wichtig, ob der DNS-Server eine positive oder negative Antwort zurückgibt. Jede Antwort gibt an, dass der Port überwacht wird.

Verwenden von PortQry im lokalen Modus (Befehlszeile)

Anstatt einen Port auf einem Remotezielcomputer abzufragen, können Sie PortQry im lokalen Modus verwenden, um detaillierte Informationen zu den TCP-Ports und den UDP-Ports auf dem lokalen Computer abzurufen, auf dem PortQry ausgeführt wird. Verwenden Sie die folgende Syntax, um PortQry im lokalen Modus auszuführen:

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

Die Platzhalter in dieser Syntax werden in der folgenden Tabelle mit lokalen Modusparametern erläutert:

Parameter Beschreibung Kommentare
-local Abrufen lokaler Informationen
  • Auflisten aller TCP- und UDP-Portzuordnungen, die derzeit auf dem lokalen Computer aktiv sind. Diese Ausgabe ähnelt der Ausgabe, die der netstat.exe -an Befehl generiert.
  • Auf Computern, die PID-zu-Port-Zuordnungen unterstützen, enthält die Ausgabe die PID des Prozesses, der den Port auf dem lokalen Computer verwendet. Wenn Sie die ausführliche Option (-v) verwenden, enthält die Ausgabe auch die Namen der Dienste, zu denen die PID gehört, und listet alle Module auf, die der Prozess geladen hat. Mithilfe dieser Informationen können Sie ermitteln, welche Ports einem bestimmten Programm oder Dienst zugeordnet sind, das auf dem Computer ausgeführt wird.
-wport <port_number> Überwachungsport
  • Überwachen Sie einen bestimmten Port auf Änderungen. Der <port_number> Wert stellt den zu überwachenden Port dar.
  • Bei einem TCP-Port meldet PortQry Änderungen zwischen den folgenden Zuständen:
    • CLOSE_WAIT
    • GESCHLOSSEN
    • ETABLIERT
    • FIN_WAIT_1
    • LAST_ACK
    • ZUHÖREN
    • SYN_RECEIVED
    • SYN_SEND
    • TIMED_WAIT
  • Für UDP-Ports meldet PortQry, ob ein Programm an den Port gebunden ist, aber nicht meldet, ob der UDP-Port Datagramme empfängt.
  • Um die Überwachung zu beenden, drücken Sie ESC.
-wpid <pid> Überwachungsprozess-ID (PID)
  • Überwachen Sie eine bestimmte PID auf Änderungen an der Anzahl und dem Status von Verbindungen. Der <process_number> Wert stellt die zu überwachende PID dar.
  • Um die Überwachung zu beenden, drücken Sie ESC.
-wt <seconds> Überprüfen in bestimmten Intervallen
  • Überprüfen Sie den Status des Ziels, das durch -wport oder "-wpid im Intervall identifiziert wird, das durch den Wert "/<seconds> " dargestellt wird.
  • Der <Sekundenwert> muss zwischen 1 und 1.200 (einschließlich) liegen.
  • Der Standardwert ist 60.
  • Sie können nicht -wt allein oder zusammen mit -local.
-l <filename.txt> Generieren einer Protokolldatei
  • Der <wert filename.txt> stellt den Namen und die Erweiterung der Protokolldatei dar. Dieser Wert darf keine Leerzeichen enthalten.
  • Wenn der Befehl ausgeführt wird, erstellt PortQry die Protokolldatei im Verzeichnis, in dem er installiert ist.
  • Wenn die Datei bereits vorhanden ist, fordert PortQry Sie auf, zu bestätigen, dass Sie sie überschreiben möchten (es sei denn, Sie verwenden auch den -y Parameter).
-y Überschreiben der vorherigen Protokolldatei
  • Wenn Sie zusammen mit -lPortQry arbeiten-y, wird die vorhandene Protokolldatei überschrieben, ohne Dass Sie aufgefordert werden, die Aktion zu bestätigen.
  • Wenn die PortQry-Befehlszeichenfolge nicht enthalten -list, ignoriert -yPortQry .
-v Ausführliche Ausgabe erzeugen PortQry enthält zusätzliche Details zur Bildschirmausgabe (und zur Protokolldatei, sofern verwendet).

Hinweise für Parameter im lokalen Modus

  • Die Parameter , und -wpid die -localParameter -wportschließen sich gegenseitig aus. Sie können nur einen dieser Parameter in einer einzelnen PortQry-Befehlszeichenfolge verwenden.
  • Der -q Parameter funktioniert nicht im lokalen Modus.
  • In einigen Fällen meldet PortQry möglicherweise, dass der System-Idle-Prozess (PID 0) einige TCP-Ports verwendet. Dieses Verhalten kann auftreten, wenn ein lokales Programm eine Verbindung mit einem TCP-Port herstellt und dann beendet wird. Obwohl das Programm nicht mehr ausgeführt wird, wird die TCP-Verbindung des Programms möglicherweise mehrere Minuten lang in einem Zustand "Timed Wait" verbleiben. In einem solchen Fall erkennt PortQry möglicherweise, dass der Port verwendet wird, aber es kann das Programm, das den Port verwendet, nicht identifizieren, da die PID freigegeben wurde. Der Port verbleibt standardmäßig doppelt so lange wie die maximale Segmentlebensdauer im Zustand "Timed Wait".
  • Für jeden Prozess meldet PortQry so viele Informationen, wie er darauf zugreifen kann. Der Zugriff auf einige Informationen ist eingeschränkt. Beispielsweise ist der Zugriff auf Modulinformationen für die Prozesse "Idle" und "CSRSS" verboten, da ihre Zugriffsbeschränkungen verhindern, dass Code auf Benutzerebene geöffnet wird. Um optimale Ergebnisse zu erzielen, führen Sie den Befehl für den lokalen Modus im Kontext des lokalen Administrators oder eines Kontos mit ähnlichen Anmeldeinformationen aus.
  • Wenn Sie entweder -wport oder -wpid zusammen mit -lihr arbeiten, verwenden Sie die ESC-TASTE, um PortQry anstelle von STRG+C zu unterbrechen und zu beenden. Sie müssen ESC drücken, um sicherzustellen, dass PortQry die Protokolldatei korrekt schließt und beendet. Wenn Sie STRG+C anstelle von ESC drücken, um PortQry zu beenden, wird die Protokolldatei möglicherweise leer oder beschädigt.

Verwenden von PortQry im interaktiven Modus

Wenn Sie Verbindungsprobleme zwischen Computern beheben, müssen Sie möglicherweise viele sich wiederholende Befehle eingeben. Solche Aktionen können mithilfe von PortQry im interaktiven Modus einfacher ausgeführt werden.

Der interaktive Modus ähnelt der interaktiven Funktionalität im Nslookup-DNS-Dienstprogramm oder im Nblookup WINS-Dienstprogramm.

Verwenden Sie den -i Parameter, um PortQry im interaktiven Modus zu starten. Führen Sie beispielsweise den folgenden Befehl aus:

portqry -i

Die Ausgabe dieses Befehls ähnelt dem folgenden Auszug:

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)
>

Befehle für den interaktiven Modus

Sie können die folgenden Befehle im interaktiven Modus verwenden:

Command Beschreibung Kommentare
node <name> oder n <name> Festlegen des Ziels für die Abfrage
  • Der <Name-Wert> stellt den Namen oder die IP-Adresse des abzufragenden Computers dar. Dieser Wert darf keine Leerzeichen enthalten.
  • Der Standardwert ist 127.0.0.1 (der lokale Computer).
query oder q Abfrage senden
  • Fragt das aktuelle Ziel mithilfe der aktuellen Einstellungen ab.
  • Das Standardprotokoll lautet tcp.
  • Der Standardzielport ist TCP-Port 80.
  • Der Standardquellport ist Port 0 (ein kurzlebiger Port).
  • Sie können eine von mehreren Tastenkombinationen mit dem query Befehl verwenden, um mehrere häufig verwendete Abfragen auszuführen. Eine Liste der verfügbaren Tastenkombinationen finden Sie unter Abfrageverknüpfungen im interaktiven Modus.
set <option>=<value> Festlegen des Werts einer Abfrageoption
  • In diesem Befehl stellt die Option> den Namen der Option dar, <die festgelegt werden soll, und <der Wert> stellt den neuen Wert der Option dar.
  • Geben Sie set alleine Liste der aktuellen Werte der verfügbaren Optionen ein.
  • Eine Liste der verfügbaren Optionen finden Sie unter "Optionen für den interaktiven Modus".
exit Interaktiver Modus verlassen

Interaktive Modus-Abfrageverknüpfungen

Sie können die folgenden Tastenkombinationen zusammen mit dem query Befehl verwenden, um allgemeine Abfragen auszuführen, ohne Port- und Protokolloptionen festlegen zu müssen. Verwenden Sie die folgende Syntax:

q <shortcut>

Notiz

In diesem Befehl <stellt die Verknüpfung> eine der Tastenkombinationen aus der folgenden Tabelle dar. Wenn Sie die Verknüpfung weglassen, fragt der q Befehl TCP-Port 80 ab.

Verknüpfung Ports zur Abfrage
dns TCP-Port 53, UDP-Port 53.
ftp TCP-Port 21
imap TCP-Port 143
ipsec UDP-Port 500
isa TCP-Port 1745, UDP-Port 1745
ldap TCP-Port 389, UDP-Port 389
l2tp UDP-Port 1701
mail TCP-Ports 25, 110 und 143
pop3 TCP-Port 110
rpc TCP-Port 135, UDP-Port 135
smtp TCP-Port 25
snmp UDP-Port 161
sql TCP-Port 1433, UDP-Port 1434
tftp UDP-Port 69

Die Eingabe q dns im interaktiven Modus entspricht beispielsweise der Ausführung portqry -n 127.0.0.1 -p both -e 135 im regulären Befehlszeilenmodus.

Optionen für den interaktiven Modus

Sie können den Befehl verwenden, um Optionen wie den set Quellport oder langsame Verknüpfungsverzögerung festzulegen. Verwenden Sie die folgende Syntax:

set <option>=<value>

Notiz

In diesem Befehl <stellt option> den Namen der festzulegenden Option dar, und< der Wert> stellt den neuen Wert der Option dar.

Option Beschreibung Kommentare
set all Anzeigen der aktuellen Werte von Optionen
set port=<port_number>
set e=<port_number>
Angeben des Zielports Der <port_number> Wert stellt den Port zum Abfragen auf dem Zielcomputer dar.
set sport=<port_number>
set sp=<port_number>
Angeben des Quellports
  • Der <port_number-Wert> stellt den Port dar, den Port PortQry zum Senden der Abfrage verwendet.
  • PortQry kann keinen Port verwenden, den ein anderer Prozess bereits verwendet.
  • Wenn Sie eine Portnummer von Null angeben, verwendet PortQry einen kurzlebigen Port.
set protocol=<protocol>
set p=<protocol>
Angeben des zu verwendenden Protokolls Der <Protokollwert> stellt den Typ des Port-zu-Abfrage (tcp, udpoder both) dar.
set cn=<community_name> Angeben einer SNMP-Community
  • Der <community_name> Wert stellt den Namen der SNMP-Community dar, um abzufragen.
  • Wenn der SNMP-Dienst nicht auf den Zielport lauscht, ignoriert -cnPortQry .
  • Der Standardmäßige Communityname lautet public.
set nr Rückwärtsnamensuche deaktivieren oder aktivieren
  • Wenn Sie standardmäßig eine IP-Adresse als Abfrageziel festgelegt haben, löst PortQry die IP-Adresse in einen Namen auf. Wenn Sie diese Option ändern, überspringt PortQry den Namensauflösungsschritt.
  • Führen Sie set nr ein zweites Mal aus, um die Umgekehrte Namenssuche erneut zu aktivieren.
set sl Verzögerung für langsame Verknüpfung aktivieren oder deaktivieren
  • Wenn Sie diese Option ändern, verdoppelt PortQry die Zeitspanne, die es auf eine Antwort von einem UDP-Port wartet, bevor PortQry feststellt, dass der Port NICHT ÜBERWACHT oder gefiltert ist. Wenn Sie langsame oder unzuverlässige Netzwerkverbindungen abfragen, ist die normale Wartezeit möglicherweise zu kurz, um eine Antwort zu erhalten.
  • Führen Sie ein zweites Mal aus set sl , um die Verzögerung für langsame Verknüpfungen wieder zu deaktivieren.

Angenommen, Sie möchten einen Computer mit der IP-Adresse 10.0.1.10 abfragen. Geben Sie an der Eingabeaufforderung für den interaktiven Modus die Eingabetaste n 10.0.1.10ein. Dieser Befehl erzeugt eine Ausgabe, die dem folgenden Auszug ähnelt:

Default Node: 10.0.1.10

>

Um eine DNS-Abfrage zu senden, geben Sie q dns an der Eingabeaufforderung für den interaktiven Modus ein. Dieser Befehl erzeugt eine Ausgabe, die dem folgenden Auszug ähnelt:

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

>

Anpassen der Zuordnung zwischen Ports und Diensten

Standardmäßig verfügt jeder Windows-basierte Computer über eine Dienstdatei, die sich im Ordner "%SYSTEMROOT%\System32\Drivers\Etc " befindet. PortQry verwendet diese Datei, um Portnummern in ihre entsprechenden Dienstnamen aufzulösen. PortQry verwendet diese Informationen, um das Format für seine Abfragen auszuwählen. Sie können diese Datei bearbeiten, um formatierte Nachrichten an einen alternativen Port zu senden. Der folgende Eintrag wird beispielsweise in einer typischen Dienstdatei angezeigt:

ldap              389/tcp                           #Lightweight Directory Access Protocol

Sie können diesen Porteintrag bearbeiten oder einen zusätzlichen Eintrag hinzufügen. Um portQry zu erzwingen, LDAP-Abfragen an Port 1025 zu senden, ändern Sie den Eintrag wie folgt:

ldap              1025/tcp                           #Lightweight Directory Access Protocol

Beispiele

Die folgenden Beispiele veranschaulichen die Verwendung von PortQry und deren Parametern:

Lokaler Modus

Befehlszeilenmodus

Abfragen des lokalen Computers

Die Ausgabe portqry -local ähnelt dem folgenden Auszug:

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  

Abfragen des lokalen Computers, wenn der Zugriff möglicherweise eingeschränkt ist

Wenn Sie PortQry wie im vorherigen Beispiel im lokalen Modus ausführen, wird möglicherweise eine Ausgabe angezeigt, die dem folgenden Auszug ähnelt. Diese Ausgabe gibt an, dass der von PortQry verwendete Sicherheitskontext nicht über ausreichende Berechtigungen verfügt, um auf alle angeforderten Informationen zuzugreifen.

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

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

Überwachen einer Prozess-ID mithilfe eines bestimmten Intervalls

Der folgende Befehl überwacht einen bestimmten Prozess:

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

PortQry führt daher die folgenden Aktionen aus:

  • Identifiziert den Prozess mit der PID 1276 und überprüft den Status der Ports, die er alle zwei Sekunden verwendet, bis Sie ESC drücken.
  • Erstellt die Protokolldatei pid.txt. Wenn eine Datei mit diesem Namen bereits vorhanden ist, fordert PortQry Sie auf, zu bestätigen, dass Sie die Datei überschreiben möchten.
  • Zeichnet alle Ausgaben in der Protokolldatei auf, einschließlich der extra ausführlichen Ausgabe.

Der Inhalt der Protokolldatei ähnelt dem folgenden Auszug:

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)

Angeben eines Ziels und Protokolls

Notiz

Jedes der Beispiele in diesem Abschnitt fragt Port 80 ab, der Standardport.

Der folgende Befehl fragt den standardmäßigen TCP-Port auf einem Computer ab, der mithilfe seines vollqualifizierten Domänennamens (FQDN) angegeben wird:

portqry -n myDomainController.example.com -p tcp

Der folgende Befehl fragt den standardmäßigen UDP-Port auf einem Computer ab, der mithilfe seines Computernamens angegeben wird:

portqry -n myServer -p udp

Der folgende Befehl fragt die standardmäßigen TCP- und UDP-Ports eines Computers ab, der mithilfe seiner IP-Adresse angegeben wird:

portqry -n 192.168.1.20 -p both

Der folgende Befehl führt dieselbe Abfrage wie der vorherige Befehl aus, überspringt jedoch den Namensauflösungsschritt:

portqry -n 192.168.1.20 -p both -nr

Der folgende Befehl fragt den standardmäßigen TCP-Port eines Webservers ab:

portqry -n www.widgets.microsoft.com

Angeben eines oder mehrerer Zielports

Der folgende Befehl testet den SMTP-Dienst eines E-Mail-Servers durch Abfragen von TCP-Port 25:

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

Der folgende Befehl fragt TCP-Port 60897 und UDP-Port 60897 eines Computers ab, auf dem die IP-Adresse 192.168.1.20 enthalten ist:

portqry -n 192.168.1.20 -p both -e 60897

Der folgende Befehl fragt UDP-Ports 139, 1025 und 135 (in dieser Sequenz) auf dem Computer "myServer" ab:

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

Der folgende Befehl fragt den Portbereich von Port 135 bis Port 139 (einschließlich) auf dem Computer "myServer" ab:

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

Angeben einer Protokolldatei für die PortQry-Ausgabe

Der folgende Befehl fragt TCP-Port 143 für mail.widgets.microsoft.com ab und zeichnet die Ausgabe in der portqry.txt Datei auf. Wenn die Datei bereits vorhanden ist, überschreibt PortQry sie ohne Bestätigung.

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

Abfrage über einen langsamen Link

Der folgende Befehl fragt die TCP-Ports 143, 110 und 25 nach mail.widgets.microsoft.com ab. Für jeden Zielport wartet PortQry doppelt so lange wie üblich auf eine Antwort.

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

Angeben eines Quellports

Der folgende Befehl verwendet UDP-Port 3001 (sofern verfügbar) auf dem lokalen Computer, um eine Abfrage an UDP-Port 53 am 192.168.1.20 zu senden. Wenn ein Dienst auf diesen Port lauscht und auf die Abfrage antwortet, sendet er die Antwort an UDP-Port 3001 auf dem lokalen Computer.

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

Der folgende Befehl verwendet UDP-Port 3000 (sofern verfügbar) auf dem lokalen Computer, um eine Abfrage an UDP-Port 389 auf myDomainController.contoso.com zu senden. Standardmäßig sollte der LDAP-Dienst auf diesen Port lauschen. Wenn der LDAP-Dienst auf die erste Abfrage antwortet, verwendet PortQry einen ephemeren Quellport, um die formatierte Abfrage zu senden und Antworten zu empfangen.

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

Verwenden einer Batchdatei zum Ausführen von PortQry im ruhigen Modus

Der folgende Text ist ein Beispiel für eine Batchdatei, die PortQry im ruhigen Modus ausführt:

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

Wenn diese Batchdatei ausgeführt wird, erzeugt PortQry eine Protokolldatei mit dem Namen pqlog.txt. Der Inhalt dieser Datei sieht wie folgt aus:

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 ========= 

Abfrageport 135 (RPC-Dienst)

Der folgende Befehl fragt UDP-Port 135 auf dem Computer "myServer" ab. Standardmäßig sollte der RPC-Dienst auf diesen Port lauschen.

portqry -n myServer -p udp -e 135

PortQry führt daher die folgenden Aktionen aus:

  • PortQry verwendet die Dienstdatei im Ordner "%SYSTEMROOT%\System32\Drivers\Etc ", um UDP-Port 135 in einen Dienst aufzulösen. Mit der Standardkonfiguration löst PortQry den Port zum RPC-Endpunktzuordnungsdienst (Epmap) auf.
  • PortQry sendet ein unformatiertes Benutzerdatendiagramm an UDP-Port 135 auf dem Zielcomputer.
    PortQry empfängt keine Antwort vom Zielport. Dies liegt daran, dass der RPC-Endpunktzuordnungsdienst nur auf eine ordnungsgemäß formatierte RPC-Abfrage reagiert. PortQry meldet, dass der Port ÜBERWACHT oder GEFILTERT ist.
  • PortQry erstellt eine ordnungsgemäß formatierte RPC-Abfrage, die alle Endpunkte anfordert, die derzeit bei der RPC-Endpunktzuordnung registriert sind. PortQry sendet diese Abfrage an UDP-Port 135 auf dem Zielcomputer.
  • Abhängig von der Antwort führt PortQry eine der folgenden Aktionen aus:
    • Wenn PortQry eine Antwort auf diese Abfrage empfängt, gibt PortQry die gesamte Antwort an den Benutzer zurück und meldet, dass der Port ÜBERWACHT wird.
    • Wenn PortQry keine Antwort auf diese Abfrage empfängt, meldet sie, dass der Port GEFILTERT ist.
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

Anhand dieser Ausgabe können Sie nicht nur ermitteln, ob der Dienst den Port überwacht, sondern auch welche Dienste oder Programme bei der RPC-Endpunktzuordnungsdatenbank auf dem Zielcomputer registriert sind. Die Ausgabe enthält den universellen eindeutigen Bezeichner (UUID) für jedes Programm, den kommentierten Namen (sofern vorhanden), das Protokoll, das jedes Programm verwendet, die Netzwerkadresse, an die das Programm gebunden ist, und den Endpunkt des Programms in eckigen Klammern.

Notiz

Wenn Sie die -r Option im PortQry-Befehl angeben, um einen Bereich von Ports zu scannen, fragt PortQry die RPC-Endpunktzuordnung nicht nach Endpunktinformationen ab. Dieser Parameter beschleunigt das Scannen eines Bereichs von Ports.