Verwenden des PortQry-Befehlszeilentools
PortQry ist ein Befehlszeilentool, mit dem Sie Tcp/IP-Konnektivitätsprobleme beheben können. Dieses Tool meldet die status von TCP- und UDP-Ports (User Datagram Protocol) auf einem lokalen Computer oder auf einem Remotecomputer. Außerdem werden ausführliche Informationen zur Portnutzung des lokalen Computers bereitgestellt.
Da PortQry als Tool zur Problembehandlung verwendet werden soll, sollten Benutzer, die es zur Problembehandlung für ein bestimmtes Problem verwenden, ü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, aber Sie können Tastenkombinationen und Parameter verwenden.
Hinweis
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 PortQryUI-Tool 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 eine LISTENING-status verfügt, wenn der UDP-Zielport keine ICMP-Nachricht (Internet Control Message Protocol) "Ziel nicht erreichbar" zurückgibt. Dieses Ergebnis ist aus einem oder beiden der folgenden Gründe möglicherweise nicht korrekt:
- Wenn keine Antwort auf ein gerichtetes Datagramm vorhanden ist, lautet der Zielport möglicherweise FILTERED.
- Die meisten Dienste reagieren nicht auf ein unformatiertes Benutzerdatengramm, das an sie gesendet wird. In der Regel antwortet der Dienst oder das Programm, das auf einen Port lauscht, nur auf eine Nachricht, die eine bestimmte Sitzungsebene oder ein bestimmtes Protokoll der Anwendungsebene verwendet.
PortQry verwendet einen zweistufigen Testprozess, um genauere und nützlichere Ergebnisse zu erzielen.
Schritt 1: Port status Test
PortQry meldet die status eines Ports als einen von drei Werten:
- LISTENING: Diese Antwort gibt an, dass ein Prozess am Zielport lauscht. PortQry hat eine Antwort vom Zielport empfangen.
- NICHT LAUSCHEN: Diese Antwort gibt an, dass kein Prozess am Zielport lauscht. PortQry hat eine der folgenden ICMP-Nachrichten vom Zielport empfangen:
Ziel nicht erreichbar Port nicht erreichbar
- GEFILTERT: Diese Antwort gibt an, dass der Zielport gefiltert wird. PortQry hat keine Antwort vom Zielport empfangen. Ein Prozess lauscht möglicherweise nicht am Zielport. Standardmäßig fragt PortQry einen TCP-Port dreimal ab, bevor er eine Antwort von FILTERED zurückgibt, und fragt einmal einen UDP-Port ab, bevor die Antwort FILTERED zurückgegeben wird.
Schritt 2: Spezialisierte Tests
Wenn keine Antwort von einem UDP-Zielport vorliegt, meldet PortQry, dass der Port LISTENING oder FILTERED ist. Wenn Sie jedoch ein Konnektivitätsproblem beheben, ist es hilfreich zu wissen, ob ein Port gefiltert wird oder lauscht. Dies gilt insbesondere für umgebungen, die eine oder mehrere Firewalls enthalten.
PortQry optimiert seinen Port status Berichts, indem ein zweiter Satz von Tests verwendet wird, die mit dem Dienst oder Programm interagieren können, der am Zielport lauscht. Für diesen Test führt PortQry folgende Aktionen aus:
- PortQry verwendet die Dienstdatei, die sich im Ordner %SYSTEMROOT%\System32\Drivers\Etc befindet, um zu bestimmen, welcher Dienst an den einzelnen Ports lauscht.
- 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. Abhängig vom Dienst oder Programm fordert die Nachricht möglicherweise Informationen an, die für die Problembehandlung nützlich sind, z. B. die folgenden:
- Domänen- und Domänencontrollerinformationen (LDAP-Abfragen)
- Registrierte Clientdienste und Ports (RPC-Abfragen)
- 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 des Diensts oder Programms als Teil des Testberichts zurück.
Zusätzliche Tests zur Problembehandlung für den lokalen Computer
Wenn Sie Probleme mit Ports auf dem Computer behandeln müssen, auf dem Sie PortQry installiert haben, verwenden Sie PortQry im lokalen Modus. Wenn Sie die Parameter im lokalen Modus in der Befehlszeile verwenden, können Sie aufgaben wie die folgenden auf dem lokalen Computer ausführen:
- Auflisten 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 auf die gleiche Weise wie jedes andere Befehlszeilentool an einer Eingabeaufforderung ausführen. Die meisten Beispiele in diesem Artikel zeigen PortQry-Befehlszeilenbefehle. Im Befehlszeilenmodus können Sie der Befehlszeichenfolge mehrere Optionen hinzufügen, um anzugeben, welche Abfrage ausgeführt 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]
Hinweis
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. [Optionen] 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 |
|
-p <protocol> |
Verwenden des angegebenen Protokolls |
|
-e <port_number> |
Geben Sie den Zielport (auch als "Endpunkt" bezeichnet) an. |
|
-o <port_number>,<port_number> |
Angeben mehrerer Zielports in einer Sequenz | Die <werte port_number,port_number>>< stellen eine durch Trennzeichen getrennte Liste von 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 |
|
-l <filename.txt> |
Generieren einer Protokolldatei |
|
-y |
Vorherige Protokolldatei überschreiben |
|
-sl |
Zusätzliche Zeit für die Antwort warten (auch bekannt als langsame Linkverzögerung) | Verwenden Sie diesen Parameter, um die Zeit zu verdoppeln, die PortQry auf eine Antwort von einem UDP-Port wartet, bevor PortQry feststellt, dass der Port NICHT LAUSCHT oder dass er GEFILTERT ist. Wenn Sie langsame oder unzuverlässige Netzwerkverbindungen abfragen, ist die normale Wartezeit möglicherweise zu kurz, um eine Antwort zu erhalten. |
-nr |
Suche nach umgekehrten Namen überspringen |
|
-sp <port_number> |
Abfragen von einem bestimmten Quellport |
|
-cn !<community_name>! |
Abfragen einer SNMP-Community |
|
-q |
Ausführen von PortQry im ruhigen Modus |
|
Hinweise zu Parametern im Befehlszeilenmodus
- Jeder Portnummerwert muss eine gültige Portnummer zwischen 1 und 65535 (einschließlich) sein.
- Die
-e
Parameter ,-o
und-r
schließ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, auf denen Windows Server 2008 ausgeführt wird. Um die Verfügbarkeit des Diensts zu überprüfen, der an 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
-e
von oder-o
abfragen, gibt PortQry alle Endpunkte zurück, die derzeit bei der RPC-Endpunktzuordnung registriert sind.Wichtig
Wenn Sie verwenden
-r
, fragt PortQry die RPC-Endpunktzuordnung nicht ab. - Wenn Sie Port 53 (DNS) abfragen, sendet PortQry eine DNS-Abfrage für
portqry.microsoft.com
mithilfe von TCP und UDP. Wenn der Server eine Antwort zurückgibt, ermittelt PortQry, dass der Port LISTENING ist.Hinweis
Es ist nicht wichtig, ob der DNS-Server eine positive oder negative Antwort zurückgibt. Jede Antwort gibt an, dass der Port lauscht.
Verwenden von PortQry im lokalen Modus (Befehlszeilenmodus)
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 der Parameter für den lokalen Modus erläutert:
Parameter | Beschreibung | Kommentare |
---|---|---|
-local |
Abrufen lokaler Informationen |
|
-wport <port_number> |
Überwachungsport |
|
-wpid <pid> |
Überwachungsprozess-ID (PID) |
|
-wt <seconds> |
Überprüfung in einem bestimmten Intervall |
|
-l <filename.txt> |
Generieren einer Protokolldatei |
|
-y |
Vorherige Protokolldatei überschreiben |
|
-v |
Erstellen einer ausführlichen Ausgabe | PortQry bietet zusätzliche Details zur Bildschirmausgabe (und zur Protokolldatei, falls verwendet). |
Hinweise zu Parametern im lokalen Modus
- Die
-local
Parameter ,-wport
und-wpid
schließ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, bleibt die TCP-Verbindung des Programms mit dem Port möglicherweise mehrere Minuten lang im Zustand "Timed Wait". 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. Standardmäßig verbleibt der Port doppelt so lange im Status "Timed Wait" wie die maximale Segmentlebensdauer.
- Für jeden Prozess meldet PortQry so viele Informationen, auf die es zugreifen kann. Der Zugriff auf einige Informationen ist eingeschränkt. Beispielsweise ist der Zugriff auf Modulinformationen für den Leerlauf- und CSRSS-Prozess verboten, da deren Zugriffseinschränkungen verhindern, dass Code auf Benutzerebene sie öffnet. Um optimale Ergebnisse zu erzielen, führen Sie den Befehl im lokalen Modus im Kontext des lokalen Administrators oder eines Kontos mit ähnlichen Anmeldeinformationen aus.
- Wenn Sie entweder
-wport
oder-wpid
zusammen mit-l
verwenden, verwenden Sie die ESC-TASTE, um PortQry zu unterbrechen und zu beenden, anstelle von STRG+C. Sie müssen ESC drücken, um sicherzustellen, dass PortQry die Protokolldatei ordnungsgemäß 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 Konnektivitätsprobleme 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 DNS-Hilfsprogramm Nslookup oder im Nblookup WINS-Hilfsprogramm.
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 im interaktiven Modus
Sie können die folgenden Befehle im interaktiven Modus verwenden:
Befehl | Beschreibung | Kommentare |
---|---|---|
node <name> oder n <name> |
Festlegen des Ziels für die Abfrage |
|
query oder q |
Abfrage senden |
|
set <option>=<value> |
Festlegen des Werts einer Abfrageoption |
|
exit |
Interaktiven Modus verlassen |
Abfrageverknüpfungen im interaktiven Modus
Sie können die folgenden Verknüpfungen 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>
Hinweis
In diesem Befehl < stellt shortcut> eine der Verknüpfungen aus der folgenden Tabelle dar. Wenn Sie die Verknüpfung weglassen, fragt der q
Befehl TCP-Port 80 ab.
Verknüpfung | Abzufragende Ports |
---|---|
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 |
Beispielsweise entspricht die Eingabe q dns
im interaktiven Modus 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 set
Befehl verwenden, um Optionen wie den Quellport oder die Langsame Linkverzögerung festzulegen. Verwenden Sie die folgende Syntax:
set <option>=<value>
Hinweis
In diesem Befehl < stellt option> den Namen der festzulegenden Option dar, und <value> 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 dar, der auf dem Zielcomputer abfragt werden soll. |
set sport=<port_number> set sp=<port_number> |
Angeben des Quellports |
|
set protocol=<protocol> set p=<protocol> |
Angeben des zu verwendenden Protokolls | Der <Protokollwert> stellt den Typ des abzufragenden Ports dar (tcp , udp oder both ). |
set cn=<community_name> |
Angeben einer SNMP-Community |
|
set nr |
Umgekehrte Namenssuche deaktivieren oder aktivieren |
|
set sl |
Langsame Verbindungsverzögerung aktivieren oder deaktivieren |
|
Angenommen, Sie möchten einen Computer mit der IP-Adresse 10.0.1.10 abfragen. Geben Sie an der Eingabeaufforderung im interaktiven Modus ein n 10.0.1.10
. 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 im 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 die entsprechenden Dienstnamen aufzulösen. PortQry verwendet diese Informationen, um das Format für seine Abfragen auszuwählen. Sie können diese Datei bearbeiten, um PortQry anweisen, 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 zu erzwingen, dass PortQry LDAP-Abfragen an Port 1025 sendet, ändern Sie den Eintrag wie folgt:
ldap 1025/tcp #Lightweight Directory Access Protocol
Beispiele
In den folgenden Beispielen wird veranschaulicht, wie PortQry und die zugehörigen Parameter verwendet werden:
Lokaler Modus
- Abfragen des lokalen Computers
- Abfragen des lokalen Computers, wenn der Zugriff möglicherweise eingeschränkt ist
- Überwachen einer Prozess-ID mithilfe eines bestimmten Intervalls
- Abfragen über einen langsamen Link
Befehlszeilenmodus
- Angeben eines Ziels und protokolls
- Angeben eines oder mehrerer Zielports
- Angeben einer Protokolldatei für die PortQry-Ausgabe
- Verwenden einer Batchdatei zum Ausführen von PortQry im ruhelosen Modus
- Abfrageport 135 (RPC-Dienst)
Abfragen des lokalen Computers
Die Ausgabe von 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. Eine solche Ausgabe gibt an, dass der von PortQry verwendete Sicherheitskontext nicht über ausreichende Berechtigungen für den Zugriff auf alle angeforderten Informationen verfügt.
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
Daher führt PortQry die folgenden Aktionen aus:
- Identifiziert den Prozess mit der PID 1276 und überprüft alle zwei Sekunden die status der Ports, die er verwendet, bis Sie ESC drücken.
- Erstellt die Protokolldatei pid.txt. Wenn bereits eine Datei mit diesem Namen vorhanden ist, werden Sie von PortQry aufgefordert, zu bestätigen, dass Sie die Datei überschreiben möchten.
- Zeichnet alle Ausgaben in der Protokolldatei auf, einschließlich der zusätzlichen 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
Hinweis
Jedes der Beispiele in diesem Abschnitt fragt Port 80 ab, den Standardport.
Der folgende Befehl fragt den TCP-Standardport auf einem Computer ab, der mithilfe des vollqualifizierten Domänennamens (Fully Qualified Domain Name, FQDN) angegeben wird:
portqry -n myDomainController.example.com -p tcp
Der folgende Befehl fragt den STANDARD-UDP-Port auf einem Computer ab, der mit seinem Computernamen angegeben wird:
portqry -n myServer -p udp
Der folgende Befehl fragt die TCP- und UDP-Standardports 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 Schritt zur Namensauflösung:
portqry -n 192.168.1.20 -p both -nr
Der folgende Befehl fragt den TCP-Standardport 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, der über die IP-Adresse 192.168.1.20 verfügt:
portqry -n 192.168.1.20 -p both -e 60897
Der folgende Befehl fragt die 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 Einschließlich Port 139 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 auf 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 zur Bestätigung aufzufordern.
portqry -n mail.widgets.microsoft.com -p tcp -e 143 -l portqry.txt -y
Abfragen über einen langsamen Link
Der folgende Befehl fragt die TCP-Ports 143, 110 und 25 auf 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 den UDP-Port 3001 (sofern verfügbar) auf dem lokalen Computer, um eine Abfrage an UDP-Port 53 unter 192.168.1.20 zu senden. Wenn ein Dienst an diesem 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 den 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 an diesem Port lauschen. Wenn der LDAP-Dienst auf die erste Abfrage antwortet, verwendet PortQry einen kurzlebigen 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 ruhelosen Modus
Der folgende Text ist ein Beispiel für eine Batchdatei, die PortQry im stillen 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 an diesem Port lauschen.
portqry -n myServer -p udp -e 135
Daher führt PortQry die folgenden Aktionen aus:
- PortQry verwendet die Datei Dienste im Ordner %SYSTEMROOT%\System32\Drivers\Etc , um UDP-Port 135 in einen Dienst aufzulösen. Mithilfe der Standardkonfiguration löst PortQry den Port in den RPC-Endpunktzuordnungsdienst (Epmap) auf.
- PortQry sendet ein unformatiertes Benutzerdatengramm 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 antwortet. PortQry meldet, dass der Port LISTENING oder FILTERED 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 den 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 LAUSCHT.
- Wenn PortQry keine Antwort auf diese Abfrage empfängt, wird gemeldet, dass der Port FILTERED 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 am Port lauscht, sondern auch, welche Dienste oder Programme bei der RPC-Endpunktzuordnungsdatenbank auf dem Zielcomputer registriert sind. Die Ausgabe enthält den universellen eindeutigen Bezeichner (Universal Unique Identifier, 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.
Hinweis
Wenn Sie die -r
Option im Befehl PortQry angeben, um einen Bereich von Ports zu überprüfen, fragt PortQry die RPC-Endpunktzuordnung nicht nach Endpunktinformationen ab. Dieser Parameter beschleunigt das Scannen eines Bereichs von Ports.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für