Delen via


Het opdrachtregelprogramma PortQry gebruiken

PortQry is een opdrachtregelprogramma dat u kunt gebruiken om problemen met TCP/IP-connectiviteit op te lossen. Dit hulpprogramma rapporteert de status van de UDP-poorten (Target TCP en User Datagram Protocol) op een lokale computer of op een externe computer. Het biedt ook gedetailleerde informatie over het poortgebruik van de lokale computer.

Omdat PortQry is bedoeld om te worden gebruikt als een hulpprogramma voor probleemoplossing, moeten gebruikers die het gebruiken om een bepaald probleem op te lossen voldoende kennis van hun computeromgeving hebben.

U kunt PortQry gebruiken vanaf een opdrachtprompt in een van de verschillende modi:

  • Opdrachtregelmodus. U kunt deze modus gebruiken om problemen met lokale of externe computers op te lossen.
  • Lokale modus. In deze modus kunt u verschillende parameters gebruiken die zijn bedoeld voor het oplossen van problemen met de lokale computer.
  • Interactieve modus. Net als bij de opdrachtregelmodus, maar u kunt snelkoppelingsopdrachten en -parameters gebruiken.

Notitie

U kunt een afzonderlijk hulpprogramma downloaden, PortQryUI genaamd, dat een grafische gebruikersinterface voor PortQry bevat. PortQryUI heeft verschillende functies die het gebruik van PortQry eenvoudiger kunnen maken. Zie PortQryUI - User Interface voor de PortQry-opdrachtregelpoortscanner om het hulpprogramma PortQryUI op te halen.

Van toepassing op: Ondersteunde versies van Windows

PortQry-tests en -resultaten

Typische hulpprogramma's voor poortscans melden dat de poort een LISTENING-status heeft als de doel-UDP-poort geen ICMP-bericht (Internet Control Message Protocol) "Bestemming onbereikbaar" retourneert. Dit resultaat is mogelijk niet nauwkeurig om een of beide van de volgende redenen:

  • Als er geen reactie is op een gericht datagram, is de doelpoort mogelijk GEFILTERD.
  • De meeste services reageren niet op een niet-opgemaakt gebruikersgegevensgram dat naar hen wordt verzonden. Normaal gesproken reageert de service of het programma dat naar een poort luistert, alleen op een bericht dat gebruikmaakt van een specifieke sessielaag of toepassingslaagprotocol.

PortQry maakt gebruik van een testproces in twee stappen om nauwkeurigere en nuttige resultaten te produceren.

Stap 1: Poortstatustest

PortQry rapporteert de status van een poort als een van de drie waarden:

  • LUISTEREN: Dit antwoord geeft aan dat een proces luistert op de doelpoort. PortQry heeft een antwoord ontvangen van de doelpoort.
  • NIET LUISTEREN: Dit antwoord geeft aan dat er geen proces luistert op de doelpoort. PortQry heeft een van de volgende ICMP-berichten ontvangen van de doelpoort:

    Onbereikbare doelpoort

  • GEFILTERD: Dit antwoord geeft aan dat de doelpoort wordt gefilterd. PortQry heeft geen antwoord ontvangen van de doelpoort. Een proces luistert mogelijk al dan niet op de doelpoort. PortQry voert standaard drie keer een QUERY uit op een TCP-poort voordat deze een antwoord van FILTERED retourneert en voert een query uit op een UDP-poort één keer voordat er een antwoord van FILTERED wordt geretourneerd.

Stap 2: Gespecialiseerde tests

Als er geen reactie van een UDP-doelpoort is, meldt PortQry dat de poort LUISTERT of GEFILTERD is. Wanneer u echter een verbindingsprobleem oplost, is het handig om te weten of een poort wordt gefilterd of luistert. Dit geldt met name in een omgeving die een of meer firewalls bevat.

PortQry verfijnt het poortstatusrapport met behulp van een tweede reeks tests die kunnen communiceren met de service of het programma dat luistert op de doelpoort. Voor deze test doet PortQry het volgende:

  • PortQry gebruikt het Services-bestand dat zich in de map %SYSTEMROOT%\System32\Drivers\Etc bevindt om te bepalen welke service op elke poort luistert.
  • PortQry maakt een bericht dat speciaal is samengesteld voor de verwachte service of het verwachte programma en verzendt dat bericht vervolgens naar de doelpoort. Afhankelijk van de service of het programma kan het bericht informatie aanvragen die nuttig is voor het oplossen van problemen, zoals de volgende:
    • Informatie over domeincontrollers (LDAP-query's)
    • Geregistreerde clientservices en -poorten (RPC-query's)
    • Of anonieme toegang is toegestaan (FTP-query's)
    • MAC-adres (NetBIOS-query's)
    • Mspclnt.ini bestandsinformatie (ISA Server-query's)
  • PortQry parseert, formatteert en retourneert vervolgens het antwoord van de service of het programma als onderdeel van het testrapport.

Aanvullende tests voor het oplossen van problemen met de lokale computer

Wanneer u problemen met poorten moet oplossen op de computer waarop u PortQry hebt geïnstalleerd, gebruikt u PortQry in de lokale modus. Wanneer u de parameters in de lokale modus op de opdrachtregel gebruikt, kunt u taken uitvoeren zoals het volgende op de lokale computer:

  • Poorttoewijzingen opsommen
  • Een specifieke poort controleren op wijzigingen
  • Een specifiek proces voor wijzigingen bewaken

Zie PortQry gebruiken in de lokale modus (opdrachtregelmodus) voor meer informatie.

PortQry gebruiken in de opdrachtregelmodus

U kunt PortQry uitvoeren op een opdrachtprompt op dezelfde manier als elk ander opdrachtregelprogramma. In de meeste voorbeelden in dit artikel worden opdrachtregel portQry-opdrachten weergegeven. In de opdrachtregelmodus kunt u meerdere opties toevoegen aan de opdrachtreeks om op te geven welke query moet worden uitgevoerd en hoe u deze uitvoert. Als u PortQry wilt uitvoeren in de opdrachtregelmodus, voert u een opdracht uit die de volgende syntaxis gebruikt:

portqry.exe -n <name_to_query> [options]

Notitie

In deze opdracht <is name_to_query> het IP-adres, de computernaam of het domein waarop een query moet worden uitgevoerd. Deze parameter is vereist. [opties] zijn de optionele parameters.

PortQry-parameters voor de opdrachtregelmodus

De volgende parameters zijn beschikbaar in de normale opdrachtregelmodus:

Parameter Description Opmerkingen
-n <name> Query's uitvoeren op de specifieke bestemming
  • Dit is de enige vereiste parameter voor de opdrachtregelmodus.
  • De <naamwaarde> vertegenwoordigt de naam of het IP-adres van de computer waarop een query moet worden uitgevoerd. Deze waarde kan geen spaties bevatten.
-p <protocol> Het opgegeven protocol gebruiken
  • De <protocolwaarde> vertegenwoordigt het type poort waarop een query moet worden uitgevoerd (mogelijke waarden zijn tcp, udpof both).
  • De standaardwaarde is tcp.
-e <port_number> Geef de doelpoort op (ook wel 'eindpunt' genoemd)
  • De <port_number> waarde vertegenwoordigt de poort die moet worden opgeslagen op de doelcomputer.
  • De standaardwaarde is 80.
-o <port_number>,<port_number> Meerdere doelpoorten opgeven in een reeks De <port_number,port_number>>< waarden vertegenwoordigen door komma's gescheiden lijst met poortnummers die in een reeks moeten worden opgeslagen. Gebruik geen spaties rond de komma's.
-r <port_number>:<port_number> Een bereik van doelpoorten opgeven
  • De <waarden port_number>:<port_number> vertegenwoordigen de begin- en eindpoortnummers, gescheiden door een dubbele punt. Gebruik geen spaties rond de dubbele punt.
  • Het beginpoortnummer moet kleiner zijn dan het eindpoortnummer.
-l <filename.txt> Een logboekbestand genereren
  • De <filename.txt> waarde vertegenwoordigt de naam en extensie van het logboekbestand. Deze waarde kan geen spaties bevatten.
  • Wanneer de opdracht wordt uitgevoerd, maakt PortQry het logboekbestand in de map waarin het is geïnstalleerd.
  • Als het bestand al bestaat, vraagt PortQry u om te bevestigen dat u het wilt overschrijven (tenzij u ook de -y parameter gebruikt).
-y Vorig logboekbestand overschrijven
  • Wanneer u -y samen met -lPortQry gebruikt, wordt het bestaande logboekbestand overschreven zonder dat u wordt gevraagd om de actie te bevestigen.
  • Als de PortQry-opdrachtreeks niet bevat -l, wordt PortQry genegeerd -y.
-sl Extra tijd wachten op reactie (ook wel trage koppelingsvertraging genoemd) Gebruik deze parameter om de tijd te verdubbelen waarop PortQry wacht op een reactie van een UDP-poort voordat PortQry bepaalt dat de poort NIET LUISTERT of dat deze is GEFILTERD. Wanneer u een query uitvoert via trage of onbetrouwbare netwerkkoppelingen, kan de normale wachttijd te kort zijn om een antwoord te ontvangen.
-nr Omgekeerde naamzoekactie overslaan
  • Wanneer u -n standaard een IP-adres voor de doelcomputer opgeeft, voert PortQry een omgekeerde naamzoekactie uit om het IP-adres om te zetten in een naam. Dit proces kan tijdrovend zijn, met name als PortQry het IP-adres niet kan oplossen. Gebruik -nr dit om deze stap van de query over te slaan.
  • Als u een -n computer of domeinnaam opgeeft, wordt PortQry genegeerd -nr.
-sp <port_number> Query uitvoeren op een specifieke bronpoort
  • De <port_number> waarde vertegenwoordigt de poort die PortQry gebruikt om de query te verzenden.
  • PortQry kan geen poort gebruiken die al door een ander proces wordt gebruikt. Als de poort die u opgeeft al in gebruik is, retourneert PortQry het volgende foutbericht:
    Kan de opgegeven bronpoort niet gebruiken.
    Poort is al in gebruik.
    Geef een poort op die niet wordt gebruikt en voer de opdracht opnieuw uit.
  • In de volgende gevallen gebruikt PortQry de opgegeven poort voor de eerste test van de query, maar niet de tweede test:
    • RPC (TCP- en UDP-poorten 135)
    • LDAP (UDP-poort 389)
    • NetBIOS-adapterstatusquery (UDP-poort 137)
    In deze gevallen gebruikt PortQry een tijdelijke poort voor de tweede test. Wanneer dit gebeurt, registreert PortQry in de uitvoer 'Tijdelijke bronpoort gebruiken'.
  • Als op de computer waarop PortQry is geïnstalleerd ook de IPSec-beleidsagent wordt uitgevoerd, is UDP-poort 500 mogelijk niet beschikbaar voor gebruik als bronpoort. Als u de IPSec-beleidsagent tijdelijk wilt uitschakelen zodat u poort 500 kunt gebruiken, voert u de opdracht uit net stop PolicyAgent. Wanneer u klaar bent met testen, voert u de opdracht uit net start PolicyAgent.
-cn !<community_name>! Een query uitvoeren op een SNMP-community
  • De <community_name> waarde vertegenwoordigt de naam van de SNMP-community die u wilt opvragen. U moet deze waarde scheiden met behulp van uitroeptekens, zoals wordt weergegeven in de linkerkolom.
  • Als de SNMP-service niet luistert op de doelpoort, wordt PortQry genegeerd -cn.
  • De standaardcommunitynaam is public.
-q PortQry uitvoeren in de stille modus
  • Wanneer u -qgebruikt, onderdrukt PortQry alle schermuitvoer, met uitzondering van foutberichten.
  • Als u andere uitvoer dan foutberichten wilt zien, gebruikt u -q deze samen met -l. PortQry registreert de normale uitvoer in het logboekbestand.
  • Als er al een logboekbestand bestaat en u samen met -lPortQry gebruikt-q, wordt het bestaande logboekbestand overschreven zonder dat u hierom wordt gevraagd.
  • U kunt niet -q samen met -o, -rof -p both.
  • Deze parameter is vooral handig wanneer u een batchbestand gebruikt om een PortQry-opdrachtreeks uit te voeren.

Opmerkingen voor parameters in de opdrachtregelmodus

  • Elke poortnummerwaarde moet een geldig poortnummer tussen 1 en 65535 zijn, inclusief.
  • De -e, -oen -r parameters sluiten elkaar wederzijds uit. Eén PortQry-opdracht kan slechts één van deze parameters gebruiken.
  • Een query naar UDP-poort 389 (LDAP) werkt mogelijk niet op domeincontrollers met Windows Server 2008. Als u de beschikbaarheid van de service wilt controleren die wordt uitgevoerd op UDP-poort 389, kunt u Nltest gebruiken in plaats van PortQry. Zie Nltest voor meer informatie.
  • Wanneer u query's uitvoert op poort 135 (RPC) met behulp van -e of -o, retourneert PortQry alle eindpunten die momenteel zijn geregistreerd bij de RPC-eindpunttoewijzing.

    Belangrijk

    Wanneer u de -rRPC-eindpunttoewijzing gebruikt, voert PortQry geen query's uit op de RPC-eindpunttoewijzing.

  • Wanneer u query's uitvoert op poort 53 (DNS), verzendt PortQry een DNS-query voor portqry.microsoft.com met zowel TCP als UDP. Als de server een antwoord retourneert, bepaalt PortQry dat de poort LUISTERT.

    Notitie

    Het is niet belangrijk of de DNS-server een positieve of negatieve reactie retourneert. Elk antwoord geeft aan dat de poort luistert.

PortQry gebruiken in de lokale modus (opdrachtregelmodus)

In plaats van een query uit te voeren op een poort op een externe doelcomputer, kunt u PortQry in de lokale modus gebruiken voor gedetailleerde informatie over de TCP-poorten en de UDP-poorten op de lokale computer waarop PortQry wordt uitgevoerd. Gebruik de volgende syntaxis om PortQry uit te voeren in de lokale modus:

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

De tijdelijke aanduidingen in deze syntaxis worden uitgelegd in de volgende tabel met parameters in de lokale modus:

Parameter Description Opmerkingen
-local Lokale gegevens ophalen
  • Inventariseer alle TCP- en UDP-poorttoewijzingen die momenteel actief zijn op de lokale computer. Deze uitvoer is vergelijkbaar met de uitvoer die door de netstat.exe -an opdracht wordt gegenereerd.
  • Op computers die PID-naar-poorttoewijzingen ondersteunen, bevat de uitvoer de PID van het proces dat gebruikmaakt van de poort op de lokale computer. Als u de uitgebreide optie (-v) gebruikt, bevat de uitvoer ook de namen van de services waartoe de PID behoort en vermeldt u alle modules die het proces heeft geladen. U kunt deze informatie gebruiken om te bepalen welke poorten zijn gekoppeld aan een bepaald programma of een bepaalde service die op de computer wordt uitgevoerd.
-wport <port_number> Poort bekijken
  • Bewaak een specifieke poort voor wijzigingen. De <port_number-waarde> vertegenwoordigt de poort die moet worden bewaakt.
  • In het geval van een TCP-poort rapporteert PortQry wijzigingen tussen de volgende statussen:
    • CLOSE_WAIT
    • GESLOTEN
    • VASTGESTELD
    • FIN_WAIT_1
    • LAST_ACK
    • LUISTEREN
    • SYN_RECEIVED
    • SYN_SEND
    • TIMED_WAIT
  • PortQry rapporteert voor UDP-poorten of een programma is gebonden aan de poort, maar rapporteert niet of de UDP-poort datagrammen ontvangt.
  • Druk op Esc om de bewaking te stoppen.
-wpid <pid> Proces-id (PID) bekijken
  • Bewaak een specifieke PID voor wijzigingen in het aantal en de status van verbindingen. De <process_number> waarde vertegenwoordigt de PID die moet worden bewaakt.
  • Druk op Esc om de bewaking te stoppen.
-wt <seconds> Controleren op een bepaald interval
  • Controleer de status van het doel dat wordt geïdentificeerd door -wport of met het interval dat wordt vertegenwoordigd door de waarde /<seconden>."-wpid
  • De <waarde van de seconden> moet tussen één en 1200 liggen (inclusief).
  • De standaardwaarde is 60.
  • U kunt niet -wt zelfstandig of samen met -local.
-l <filename.txt> Een logboekbestand genereren
  • De <filename.txt> waarde vertegenwoordigt de naam en extensie van het logboekbestand. Deze waarde kan geen spaties bevatten.
  • Wanneer de opdracht wordt uitgevoerd, maakt PortQry het logboekbestand in de map waarin het is geïnstalleerd.
  • Als het bestand al bestaat, vraagt PortQry u om te bevestigen dat u het wilt overschrijven (tenzij u ook de -y parameter gebruikt).
-y Vorig logboekbestand overschrijven
  • Wanneer u -y samen met -lPortQry gebruikt, wordt het bestaande logboekbestand overschreven zonder dat u wordt gevraagd om de actie te bevestigen.
  • Als de PortQry-opdrachtreeks niet bevat -l, wordt PortQry genegeerd -y.
-v Uitgebreide uitvoer produceren PortQry biedt aanvullende informatie over de schermuitvoer (en het logboekbestand, indien gebruikt).

Opmerkingen voor parameters in de lokale modus

  • De -local, -wporten -wpid parameters sluiten elkaar wederzijds uit. U kunt slechts één van deze parameters in één PortQry-opdrachtreeks gebruiken.
  • De -q parameter werkt niet in de lokale modus.
  • In sommige gevallen kan PortQry melden dat het proces voor inactiviteit van het systeem (PID 0) een aantal TCP-poorten gebruikt. Dit gedrag kan optreden als een lokaal programma verbinding maakt met een TCP-poort en vervolgens stopt. Hoewel het programma niet meer wordt uitgevoerd, blijft de TCP-verbinding van het programma met de poort mogelijk enkele minuten in de status 'Getimed Wait'. In dat geval kan PortQry detecteren dat de poort in gebruik is, maar kan het programma dat gebruikmaakt van de poort niet identificeren omdat de PID is vrijgegeven. De poort blijft standaard twee keer zo lang als de maximale levensduur van het segment behouden blijft.
  • Voor elk proces rapporteert PortQry zoveel informatie als er toegang toe is. Toegang tot bepaalde gegevens is beperkt. Toegang tot modulegegevens voor de processen inactief en CSRSS is bijvoorbeeld verboden omdat hun toegangsbeperkingen verhinderen dat code op gebruikersniveau wordt geopend. Voor de beste resultaten voert u de opdracht lokale modus uit in de context van de lokale beheerder of van een account met vergelijkbare referenties.
  • Gebruik de Esc-toets om PortQry te onderbreken en af te sluiten in plaats van Ctrl+C wanneer u -wport een van beide gebruikt of -wpid samen met -lde Esc-toets. U moet op Esc drukken om ervoor te zorgen dat PortQry het logboekbestand correct sluit en afsluit. Als u op Ctrl+C drukt in plaats van Esc om PortQry te stoppen, wordt het logboekbestand mogelijk leeg of beschadigd.

PortQry gebruiken in interactieve modus

Wanneer u verbindingsproblemen tussen computers oplost, moet u mogelijk veel terugkerende opdrachten typen. Dergelijke acties kunnen eenvoudiger worden uitgevoerd met behulp van PortQry in de interactieve modus.

De interactieve modus is vergelijkbaar met de interactieve functionaliteit in het HULPPROGRAMMA Nslookup DNS of in het hulpprogramma Nblookup WINS.

Als u PortQry in de interactieve modus wilt starten, gebruikt u de -i parameter. Voer bijvoorbeeld de volgende opdracht uit:

portqry -i

De uitvoer van deze opdracht lijkt op het volgende fragment:

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

Interactieve modusopdrachten

U kunt de volgende opdrachten gebruiken in de interactieve modus:

Opdracht Beschrijving Opmerkingen
node <name> of n <name> De bestemming instellen op query
  • De <naamwaarde> vertegenwoordigt de naam of het IP-adres van de computer waarop een query moet worden uitgevoerd. Deze waarde kan geen spaties bevatten.
  • De standaardwaarde is 127.0.0.1 (de lokale computer).
query of q Query verzenden
  • Query's uitvoeren op het huidige doel met behulp van de huidige instellingen.
  • Het standaardprotocol is tcp.
  • De standaardbestemmingspoort is TCP-poort 80.
  • De standaardbronpoort is poort 0 (een tijdelijke poort).
  • U kunt een van de verschillende sneltoetsen met de query opdracht gebruiken om een van de verschillende algemene query's uit te voeren. Zie Interactieve-modusquerysneltoetsen voor een lijst met beschikbare sneltoetsen.
set <option>=<value> De waarde van een queryoptie instellen
  • In deze opdracht <vertegenwoordigt de optie> de naam van de optie die u wilt instellen en <de> waarde vertegenwoordigt de nieuwe waarde van de optie.
  • Als u een lijst met de huidige waarden van de beschikbare opties wilt zien, voert u het volgende in set all.
  • Zie Interactieve modusopties voor een lijst met beschikbare opties.
exit Interactieve modus verlaten

Sneltoetsen voor query's in de interactieve modus

U kunt de volgende sneltoetsen samen met de query opdracht gebruiken om algemene query's uit te voeren zonder poort- en protocolopties in te stellen. Gebruik de volgende syntaxis:

q <shortcut>

Notitie

In deze opdracht <vertegenwoordigt de snelkoppeling> een van de sneltoetsen uit de volgende tabel. Als u de snelkoppeling weglaat, voert de q opdracht een query uit op TCP-poort 80.

Snelkoppeling Poorten om query's uit te voeren
dns TCP-poort 53, UDP-poort 53.
ftp TCP-poort 21
imap TCP-poort 143
ipsec UDP-poort 500
isa TCP-poort 1745, UDP-poort 1745
ldap TCP-poort 389, UDP-poort 389
l2tp UDP-poort 1701
mail TCP-poorten 25, 110 en 143
pop3 TCP-poort 110
rpc TCP-poort 135, UDP-poort 135
smtp TCP-poort 25
snmp UDP-poort 161
sql TCP-poort 1433, UDP-poort 1434
tftp UDP-poort 69

Het invoeren q dns in de interactieve modus is bijvoorbeeld gelijk aan het uitvoeren portqry -n 127.0.0.1 -p both -e 135 in de normale opdrachtregelmodus.

Opties voor interactieve modus

U kunt de set opdracht gebruiken om opties in te stellen, zoals de bronpoort of vertraging bij trage koppelingen. Gebruik de volgende syntaxis:

set <option>=<value>

Notitie

In deze opdracht <vertegenwoordigt de optie> de naam van de optie die u wilt instellen en <de waarde> vertegenwoordigt de nieuwe waarde van de optie.

Optie Omschrijving Opmerkingen
set all De huidige waarden van opties weergeven
set port=<port_number>
set e=<port_number>
De doelpoort opgeven De <port_number> waarde vertegenwoordigt de poort die moet worden opgeslagen op de doelcomputer.
set sport=<port_number>
set sp=<port_number>
De bronpoort opgeven
  • De <port_number> waarde vertegenwoordigt de poort die PortQry gebruikt om de query te verzenden.
  • PortQry kan geen poort gebruiken die al door een ander proces wordt gebruikt.
  • Als u een poortnummer van nul opgeeft, gebruikt PortQry een tijdelijke poort.
set protocol=<protocol>
set p=<protocol>
Geef het protocol op dat moet worden gebruikt De <protocolwaarde> vertegenwoordigt het type poort waarop een query moet worden uitgevoerd (tcp, udpof both).
set cn=<community_name> Een SNMP-community opgeven
  • De <community_name> waarde vertegenwoordigt de naam van de SNMP-community die u wilt opvragen.
  • Als de SNMP-service niet luistert op de doelpoort, wordt PortQry genegeerd -cn.
  • De standaardcommunitynaam is public.
set nr Omgekeerde naamzoekactie in- of uitschakelen
  • Als u standaard een IP-adres hebt ingesteld als het doel van de query, wordt het IP-adres door PortQry omgezet in een naam. Als u deze optie wijzigt, slaat PortQry de stap voor naamomzetting over.
  • Als u omgekeerde naamzoekactie opnieuw wilt inschakelen, voert u een tweede keer uit set nr .
set sl Vertraging bij trage koppelingen in- of uitschakelen
  • Als u deze optie wijzigt, verdubbelt PortQry de tijdsduur die wordt gewacht op een reactie van een UDP-poort voordat PortQry bepaalt dat de poort NIET LUISTERT of dat deze is GEFILTERD. Wanneer u een query uitvoert via trage of onbetrouwbare netwerkkoppelingen, kan de normale wachttijd te kort zijn om een antwoord te ontvangen.
  • Voer set sl een tweede keer uit om vertraging bij trage koppelingen weer uit te schakelen.

Stel dat u een query wilt uitvoeren op een computer met het IP-adres 10.0.1.10. Voer bij de opdrachtprompt voor de interactieve modus het volgende in n 10.0.1.10. Met deze opdracht wordt uitvoer geproduceerd die lijkt op het volgende fragment:

Default Node: 10.0.1.10

>

Als u een DNS-query wilt verzenden, voert q dns u de opdrachtprompt in de interactieve modus in. Met deze opdracht wordt uitvoer geproduceerd die lijkt op het volgende fragment:

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

>

De koppeling tussen poorten en services aanpassen

Standaard heeft elke Windows-computer een Services-bestand dat zich in de map %SYSTEMROOT%\System32\Drivers\Etc bevindt. PortQry gebruikt dit bestand om poortnummers om te zetten in de bijbehorende servicenamen. PortQry gebruikt deze informatie om de indeling voor de query's te selecteren. U kunt dit bestand bewerken om PortQry te sturen om opgemaakte berichten naar een alternatieve poort te verzenden. De volgende vermelding wordt bijvoorbeeld weergegeven in een typisch Services-bestand:

ldap              389/tcp                           #Lightweight Directory Access Protocol

U kunt deze poortvermelding bewerken of een extra vermelding toevoegen. Als u wilt afdwingen dat PortQry LDAP-query's verzendt naar poort 1025, wijzigt u de vermelding als volgt:

ldap              1025/tcp                           #Lightweight Directory Access Protocol

Voorbeelden

In de volgende voorbeelden ziet u hoe u PortQry en de bijbehorende parameters gebruikt:

Lokale modus

Opdrachtregelmodus

Query's uitvoeren op de lokale computer

De uitvoer lijkt portqry -local op het volgende fragment:

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  

Query's uitvoeren op de lokale computer wanneer de toegang mogelijk wordt beperkt

Wanneer u PortQry uitvoert in de lokale modus, zoals in het vorige voorbeeld, ziet u mogelijk uitvoer die lijkt op het volgende fragment. Dergelijke uitvoer geeft aan dat de beveiligingscontext die PortQry gebruikt, niet over voldoende machtigingen beschikt om toegang te krijgen tot alle informatie die door PortQry is aangevraagd.

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

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

Een proces-id bewaken met behulp van een specifiek interval

Met de volgende opdracht wordt een specifiek proces bewaakt:

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

Als gevolg hiervan voert PortQry de volgende acties uit:

  • Identificeert het proces met de 1276 PID en controleert de status van de poorten die het elke twee seconden gebruikt totdat u op Esc drukt.
  • Hiermee maakt u het logboekbestand pid.txt. Als er al een bestand met deze naam bestaat, wordt u door PortQry gevraagd om te bevestigen dat u het bestand wilt overschrijven.
  • Registreert alle uitvoer in het logboekbestand, inclusief de extra uitgebreide uitvoer.

De inhoud van het logboekbestand lijkt op het volgende fragment:

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)

Een doel en protocol opgeven

Notitie

Elk van de voorbeelden in deze sectie voert een query uit op poort 80, de standaardpoort.

Met de volgende opdracht wordt een query uitgevoerd op de standaard TCP-poort op een computer die is opgegeven met behulp van de FQDN (Fully Qualified Domain Name):

portqry -n myDomainController.example.com -p tcp

Met de volgende opdracht wordt een query uitgevoerd op de standaard-UDP-poort op een computer die is opgegeven met behulp van de computernaam:

portqry -n myServer -p udp

De volgende opdracht voert een query uit op de standaard TCP- en UDP-poorten van een computer die is opgegeven met behulp van het IP-adres:

portqry -n 192.168.1.20 -p both

Met de volgende opdracht wordt dezelfde query uitgevoerd als de vorige opdracht, maar wordt de stap voor naamomzetting overgeslagen:

portqry -n 192.168.1.20 -p both -nr

Met de volgende opdracht wordt de standaard TCP-poort van een webserver opgevraagd:

portqry -n www.widgets.microsoft.com

Een of meer doelpoorten opgeven

Met de volgende opdracht wordt de SMTP-service van een e-mailserver getest door een query uit te voeren op TCP-poort 25:

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

Met de volgende opdracht wordt een query uitgevoerd op TCP-poort 60897 en UDP-poort 60897 van een computer met het IP-adres 192.168.1.20:

portqry -n 192.168.1.20 -p both -e 60897

Met de volgende opdracht worden UDP-poorten 139, 1025 en 135 (in die volgorde) op de computer myServer opgevraagd:

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

Met de volgende opdracht wordt een query uitgevoerd op het bereik van poorten van poort 135 naar poort 139 (inclusief) op de computer 'myServer':

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

Een logboekbestand opgeven voor PortQry-uitvoer

Met de volgende opdracht wordt TCP-poort 143 op mail.widgets.microsoft.com opgevraagd en wordt de uitvoer vastgelegd in het portqry.txt-bestand . Als het bestand al bestaat, overschrijft PortQry het zonder om bevestiging te vragen.

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

Query uitvoeren op een trage koppeling

Met de volgende opdracht worden TCP-poorten 143, 110 en 25 op mail.widgets.microsoft.com opgevraagd. Voor elke doelpoort wacht PortQry twee keer zo lang als normaal voor een reactie.

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

Een bronpoort opgeven

De volgende opdracht maakt gebruik van UDP-poort 3001 (indien beschikbaar) op de lokale computer om een query te verzenden naar UDP-poort 53 op 192.168.1.20. Als een service luistert op die poort en reageert op de query, wordt het antwoord verzonden naar UDP-poort 3001 op de lokale computer.

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

De volgende opdracht maakt gebruik van UDP-poort 3000 (indien beschikbaar) op de lokale computer om een query te verzenden naar UDP-poort 389 op myDomainController.contoso.com. De LDAP-service moet standaard op deze poort luisteren. Als de LDAP-service reageert op de eerste query, gebruikt PortQry een tijdelijke bronpoort om de opgemaakte query te verzenden en reacties te ontvangen.

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

Een batchbestand gebruiken om PortQry uit te voeren in de stille modus

De volgende tekst is een voorbeeld van een batchbestand dat PortQry uitvoert in de stille modus:

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

Wanneer dit batchbestand wordt uitgevoerd, produceert PortQry een logboekbestand met de naam pqlog.txt. De inhoud van dit bestand lijkt op het volgende:

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

Query uitvoeren op poort 135 (RPC-service)

Met de volgende opdracht wordt UDP-poort 135 op de myServer-computer opgevraagd. Standaard moet de RPC-service luisteren op deze poort.

portqry -n myServer -p udp -e 135

Als gevolg hiervan voert PortQry de volgende acties uit:

  • PortQry gebruikt het Services-bestand in de map %SYSTEMROOT%\System32\Drivers\Etc om UDP-poort 135 om te lossen op een service. Met behulp van de standaardconfiguratie wordt de poort omgezet naar de RPC Endpoint Mapper-service (Epmap).
  • PortQry verzendt een niet-opgemaakt gebruikersgegevensgram naar UDP-poort 135 op de doelcomputer.
    PortQry ontvangt geen antwoord van de doelpoort. Dit komt doordat de RPC-eindpunttoewijzingsservice alleen reageert op een correct opgemaakte RPC-query. PortQry rapporteert dat de poort LUISTERT of GEFILTERD is.
  • PortQry maakt een correct opgemaakte RPC-query waarmee alle eindpunten worden aangevraagd die momenteel zijn geregistreerd bij de RPC-eindpunttoewijzing. PortQry verzendt deze query naar UDP-poort 135 op de doelcomputer.
  • Afhankelijk van het antwoord voert PortQry een van de volgende acties uit:
    • Als PortQry een antwoord op deze query ontvangt, retourneert PortQry het hele antwoord op de gebruiker en meldt dat de poort LUISTERT.
    • Als PortQry geen antwoord op deze query ontvangt, wordt gerapporteerd dat de poort is GEFILTERD.
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

Vanuit deze uitvoer kunt u niet alleen bepalen of de service luistert op de poort, maar ook welke services of programma's zijn geregistreerd bij de RPC endpoint mapper-database op de doelcomputer. De uitvoer bevat de universal unique identifier (UUID) voor elk programma, de naam met aantekeningen (indien aanwezig), het protocol dat elk programma gebruikt, het netwerkadres waaraan het programma is gebonden en het eindpunt van het programma tussen vierkante haken.

Notitie

Wanneer u de -r optie opgeeft in de PortQry-opdracht om een bereik van poorten te scannen, voert PortQry geen query uit op de RPC-eindpunttoewijzing voor eindpuntgegevens. Met deze parameter wordt het scannen van een bereik van poorten versneld.