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 |
|
-p <protocol> |
Verwenden des angegebenen Protokolls |
|
-e <port_number> |
Angeben des Zielports (auch als "Endpunkt" bezeichnet) |
|
-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 |
|
-l <filename.txt> |
Generieren einer Protokolldatei |
|
-y |
Überschreiben der vorherigen Protokolldatei |
|
-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 |
|
-sp <port_number> |
Abfrage von einem bestimmten Quellport |
|
-cn !<community_name>! |
Abfragen einer SNMP-Community |
|
-q |
PortQry im ruhigen Modus ausführen |
|
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-e
Parameter-o
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, 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
-o
abfragen-e
, gibt PortQry alle Endpunkte zurück, die derzeit bei der RPC-Endpunktzuordnung registriert sind.Wichtig
Wenn Sie den
-r
PortQry 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 |
|
-wport <port_number> |
Überwachungsport |
|
-wpid <pid> |
Überwachungsprozess-ID (PID) |
|
-wt <seconds> |
Überprüfen in bestimmten Intervallen |
|
-l <filename.txt> |
Generieren einer Protokolldatei |
|
-y |
Überschreiben der vorherigen Protokolldatei |
|
-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-local
Parameter-wport
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, 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-l
ihr 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 |
|
query oder q |
Abfrage senden |
|
set <option>=<value> |
Festlegen des Werts einer Abfrageoption |
|
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 |
|
set protocol=<protocol> set p=<protocol> |
Angeben des zu verwendenden Protokolls | Der <Protokollwert> stellt den Typ des Port-zu-Abfrage (tcp , udp oder both ) dar. |
set cn=<community_name> |
Angeben einer SNMP-Community |
|
set nr |
Rückwärtsnamensuche deaktivieren oder aktivieren |
|
set sl |
Verzögerung für langsame Verknüpfung aktivieren oder 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.10
ein. 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
- Abfragen des lokalen Computers
- Abfragen des lokalen Computers, wenn der Zugriff möglicherweise eingeschränkt ist
- Überwachen einer Prozess-ID mithilfe eines bestimmten Intervalls
- Abfrage ü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 ruhigen Modus
- Abfrageport 135 (RPC-Dienst)
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.