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 doel-TCP- en UDP-poorten (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 hebben van hun computeromgeving.

U kunt PortQry gebruiken vanaf een opdrachtprompt in een van de volgende 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. Vergelijkbaar met de opdrachtregelmodus, maar u kunt snelkoppelingsopdrachten en parameters gebruiken.

Opmerking

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 - Gebruikersinterface 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 de status LISTENING 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.

Om nauwkeurigere en nuttigere resultaten te produceren, gebruikt PortQry een testproces in twee stappen.

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 LUISTERT: dit antwoord geeft aan dat er geen proces luistert op de doelpoort. PortQry heeft een van de volgende ICMP-berichten ontvangen van de doelpoort:

    Bestemming onbereikbare poort onbereikbaar

  • 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. Standaard voert PortQry drie query's 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 antwoord is van een UDP-doelpoort, 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 voor een omgeving die een of meer firewalls bevat.

PortQry verfijnt het poortstatusrapport met behulp van een tweede set 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 specifiek 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 vragen om informatie die nuttig is voor het oplossen van problemen, zoals het volgende:
    • Domein- en domeincontrollergegevens (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 voor de lokale modus op de opdrachtregel gebruikt, kunt u taken zoals de volgende uitvoeren 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 (opdrachtregel) voor meer informatie.

PortQry gebruiken in de opdrachtregelmodus

U kunt PortQry op dezelfde manier uitvoeren bij een opdrachtprompt 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 deze moet worden uitgevoerd. 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]

Opmerking

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

PortQry-parameters voor opdrachtregelmodus

De volgende parameters zijn beschikbaar in de normale opdrachtregelmodus:

Parameter Beschrijving Opmerkingen
-n <name> Query 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 mag geen spaties bevatten.
-p <protocol> Het opgegeven protocol gebruiken
  • De <protocolwaarde> vertegenwoordigt het type poort dat moet worden opgevraagd (mogelijke waarden zijn tcp, udpof both).
  • De standaardwaarde is tcp.
-e <port_number> Geef de doelpoort op (ook wel 'eindpunt' genoemd)
  • De <waarde port_number> vertegenwoordigt de poort die op de doelcomputer moet worden opgevraagd.
  • De standaardwaarde is 80.
-o <port_number>,<port_number> Meerdere doelpoorten in een reeks opgeven De <port_number,port_number>>< waarden vertegenwoordigen een door komma's gescheiden lijst met poortnummers die in een reeks moeten worden opgevraagd. 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 nummer van de beginpoort moet kleiner zijn dan het nummer van de eindpoort.
-l <filename.txt> Een logboekbestand genereren
  • De < waardefilename.txt> vertegenwoordigt de naam en extensie van het logboekbestand. Deze waarde mag 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 samen met -lgebruikt-y, overschrijft PortQry het bestaande logboekbestand zonder dat u wordt gevraagd om de actie te bevestigen.
  • Als de PortQry-opdrachtreeks niet bevat -l, wordt door PortQry genegeerd -y.
-sl Wacht extra tijd voor reactie (ook wel trage koppelingsvertraging genoemd) Gebruik deze parameter om de tijd te verdubbelen dat PortQry wacht op een antwoord 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, is de normale wachttijd mogelijk te kort om een antwoord te ontvangen.
-nr Omgekeerde naamzoekactie overslaan
  • Wanneer u gebruikt -n om een IP-adres op te geven voor de doelcomputer, voert PortQry standaard een omgekeerde naamzoekactie uit om het IP-adres op te lossen in een naam. Dit proces kan tijdrovend zijn, met name als PortQry het IP-adres niet kan oplossen. Gebruik -nr om deze stap van de query over te slaan.
  • Als u gebruikt -n om een computer of domeinnaam op te geven, negeert -nrPortQry .
-sp <port_number> Query uitvoeren vanaf een specifieke bronpoort
  • De <waarde port_number> 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.
    De poort is al in gebruik.
    Geef een poort op die niet in gebruik is 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 Adapter-statusquery (UDP-poort 137)
    In deze gevallen gebruikt PortQry een tijdelijke poort voor de tweede test. Wanneer dit gebeurt, registreert PortQry 'Tijdelijke bronpoort gebruiken' in de uitvoer.
  • 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 uit net stop PolicyAgent. Wanneer u klaar bent met testen, voert u uit net start PolicyAgent.
-cn !<community_name>! Een query uitvoeren op een SNMP-community
  • De <waarde community_name> vertegenwoordigt de naam van de SNMP-community die moet worden opgevraagd. U moet deze waarde afbakenen met behulp van uitroeptekens, zoals wordt weergegeven in de linkerkolom.
  • Als de SNMP-service niet luistert op de doelpoort, negeert -cnPortQry .
  • De standaard communitynaam is public.
-q PortQry uitvoeren in stille modus
  • Wanneer u gebruikt -q, onderdrukt PortQry alle schermuitvoer behalve foutberichten.
  • Als u andere uitvoer dan foutberichten wilt weergeven, gebruikt u -q samen met -l. PortQry registreert de normale uitvoer in het logboekbestand.
  • Als er al een logboekbestand bestaat en u samen met -lgebruikt-q, overschrijft PortQry het bestaande logboekbestand zonder dat u hierom wordt gevraagd.
  • U kunt niet samen gebruiken -q met -o, -rof -p both.
  • Deze parameter is met name 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 -eparameters , -oen -r sluiten elkaar uit. Een enkele 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 wilt controleren van de service die wordt uitgevoerd op UDP-poort 389, kunt u Nltest gebruiken in plaats van PortQry. Zie Nltest voor meer informatie.
  • Wanneer u een query 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 -rgebruikt, voert PortQry geen query uit op de RPC-eindpunttoewijzing.

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

    Opmerking

    Het is niet belangrijk of de DNS-server een positief of negatief antwoord retourneert. Elk antwoord geeft aan dat de poort luistert.

PortQry gebruiken in de lokale modus (opdrachtregel)

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 voor de lokale modus:

Parameter Beschrijving 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 de netstat.exe -an opdracht genereert.
  • 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 worden alle modules vermeld die door het proces zijn geladen. U kunt deze informatie gebruiken om te bepalen welke poorten zijn gekoppeld aan een bepaald programma of bepaalde service die op de computer wordt uitgevoerd.
-wport <port_number> Poort bewaken
  • Een specifieke poort controleren op wijzigingen. De <waarde port_number> vertegenwoordigt de poort die moet worden bewaakt.
  • In het geval van een TCP-poort meldt PortQry wijzigingen tussen de volgende statussen:
    • CLOSE_WAIT
    • GESLOTEN
    • VASTGESTELD
    • FIN_WAIT_1
    • LAST_ACK
    • LUISTEREN
    • SYN_RECEIVED
    • SYN_SEND
    • TIMED_WAIT
  • Voor UDP-poorten meldt PortQry of een programma is gebonden aan de poort, maar niet rapporteert of de UDP-poort gegevensgrammen ontvangt.
  • Druk op Esc om de bewaking te stoppen.
-wpid <pid> Proces-id (PID) bekijken
  • Een specifieke PID controleren op wijzigingen in het aantal en de status van verbindingen. De <waarde process_number> vertegenwoordigt de PID die moet worden bewaakt.
  • Druk op Esc om de bewaking te stoppen.
-wt <seconds> Controleren op een specifiek interval
  • Controleer de status van het doel dat wordt geïdentificeerd door -wport of "-wpid met het interval dat wordt vertegenwoordigd door de waarde /<seconds> .
  • De <waarde voor seconden> moet liggen tussen één en 1.200 (inclusief).
  • De standaardwaarde is 60.
  • U kunt niet zelfstandig of samen met -localgebruiken-wt.
-l <filename.txt> Een logboekbestand genereren
  • De < waardefilename.txt> vertegenwoordigt de naam en extensie van het logboekbestand. Deze waarde mag 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 samen met -lgebruikt-y, overschrijft PortQry het bestaande logboekbestand zonder dat u wordt gevraagd om de actie te bevestigen.
  • Als de PortQry-opdrachtreeks niet bevat -l, wordt door PortQry genegeerd -y.
-v Uitgebreide uitvoer produceren PortQry biedt aanvullende details voor de schermuitvoer (en voor het logboekbestand, indien gebruikt).

Opmerkingen voor parameters in de lokale modus

  • De -localparameters , -wporten -wpid sluiten elkaar uit. U kunt slechts één van deze parameters gebruiken in één PortQry-opdrachtreeks.
  • De -q parameter werkt niet in de lokale modus.
  • In sommige gevallen kan PortQry melden dat het proces voor systeem-inactiviteit (PID 0) gebruikmaakt van een aantal TCP-poorten. Dit gedrag kan optreden als een lokaal programma verbinding maakt met een TCP-poort en vervolgens stopt. Hoewel het programma niet meer wordt uitgevoerd, kan de TCP-verbinding van het programma met de poort enkele minuten in de status 'Getimede wachttijd' blijven. In een dergelijk geval kan PortQry detecteren dat de poort in gebruik is, maar kan het programma dat de poort gebruikt niet identificeren omdat de PID is vrijgegeven. Standaard blijft de poort twee keer zo lang als de maximale levensduur van het segment in de status 'Getimede wachttijd'.
  • Voor elk proces rapporteert PortQry zoveel informatie als het kan openen. De toegang tot bepaalde informatie is beperkt. Toegang tot modulegegevens voor de processen Inactief en CSRSS is bijvoorbeeld verboden omdat de toegangsbeperkingen verhinderen dat code op gebruikersniveau deze kan openen. 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.
  • Wanneer u een -wport of -wpid samen met -lgebruikt, gebruikt u de Esc-toets om PortQry te onderbreken en af te sluiten in plaats van Ctrl+C. 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, kan het logboekbestand leeg raken of beschadigd raken.

PortQry gebruiken in de interactieve modus

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

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

Als u PortQry wilt starten in de interactieve modus, 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)
>

Opdrachten in de interactieve modus

U kunt de volgende opdrachten gebruiken in de interactieve modus:

Opdracht Beschrijving Opmerkingen
node <name> of n <name> Het doel instellen op query
  • De <naamwaarde> vertegenwoordigt de naam of het IP-adres van de computer waarop een query moet worden uitgevoerd. Deze waarde mag geen spaties bevatten.
  • De standaardwaarde is 127.0.0.1 (de lokale computer).
query of q Query verzenden
  • Query's uitvoeren op de huidige bestemming met behulp van de huidige instellingen.
  • Het standaardprotocol is tcp.
  • De standaard doelpoort is TCP-poort 80.
  • De standaardbronpoort is poort 0 (een tijdelijke poort).
  • U kunt een van de verschillende sneltoetsen gebruiken met de query opdracht om een van de meest voorkomende query's uit te voeren. Zie Querysneltoetsen in de interactieve modus voor een lijst met beschikbare sneltoetsen.
set <option>=<value> De waarde van een queryoptie instellen
  • In deze opdracht < vertegenwoordigt optie> de naam van de optie die moet worden ingesteld en <waarde> de nieuwe waarde van de optie.
  • Voer in om een lijst met de huidige waarden van de beschikbare opties weer te geven set all.
  • Zie Opties voor interactieve modus 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 veelvoorkomende query's uit te voeren zonder dat u poort- en protocolopties hoeft in te stellen. Gebruik de volgende syntaxis:

q <shortcut>

Opmerking

In deze opdracht < vertegenwoordigt snelkoppeling> een van de snelkoppelingen uit de volgende tabel. Als u de snelkoppeling weglaat, wordt met de q opdracht een query uitgevoerd 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 trage koppelingsvertraging. Gebruik de volgende syntaxis:

set <option>=<value>

Opmerking

In deze opdracht < vertegenwoordigt optie> de naam van de in te stellen optie en <waarde> de nieuwe waarde van de optie.

Optie Beschrijving Opmerkingen
set all De huidige waarden van opties weergeven
set port=<port_number>
set e=<port_number>
De doelpoort opgeven De <waarde port_number> vertegenwoordigt de poort die op de doelcomputer moet worden opgevraagd.
set sport=<port_number>
set sp=<port_number>
De bronpoort opgeven
  • De <waarde port_number> 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>
Het protocol opgeven dat u wilt gebruiken De <protocolwaarde> vertegenwoordigt het type poort dat moet worden opgevraagd (tcp, udp, of both).
set cn=<community_name> Een SNMP-community opgeven
  • De <waarde community_name> vertegenwoordigt de naam van de SNMP-community die moet worden opgevraagd.
  • Als de SNMP-service niet luistert op de doelpoort, negeert -cnPortQry .
  • De standaard communitynaam is public.
set nr Omgekeerde naamzoekactie in- of uitschakelen
  • Als u een IP-adres hebt ingesteld als de querybestemming, zet PortQry het IP-adres standaard om 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 Trage koppelingsvertraging in- of uitschakelen
  • Als u deze optie wijzigt, verdubbelt PortQry de tijdsduur dat wordt gewacht op een antwoord 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, is de normale wachttijd mogelijk te kort om een antwoord te ontvangen.
  • Als u trage koppelingsvertraging weer wilt uitschakelen, voert u een tweede keer uit set sl .

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 in n 10.0.1.10. Deze opdracht produceert uitvoer die lijkt op het volgende fragment:

Default Node: 10.0.1.10

>

Als u een DNS-query wilt verzenden, voert u in q dns bij de opdrachtprompt voor de interactieve modus. Deze opdracht produceert uitvoer 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 zodat PortQry opgemaakte berichten naar een alternatieve poort verzendt. 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 van portqry -local lijkt 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 uitvoeren op de lokale computer wanneer de toegang mogelijk is beperkt

Wanneer u PortQry uitvoert in de lokale modus, zoals in het vorige voorbeeld, ziet u mogelijk uitvoer die lijkt op het volgende fragment. Een dergelijke uitvoer geeft aan dat de beveiligingscontext die PortQry gebruikt niet voldoende machtigingen heeft om toegang te krijgen tot alle informatie die door PortQry wordt 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 worden gebruikt om de twee seconden totdat u op Esc drukt.
  • Hiermee maakt u het logboekbestand pid.txt. Als er al een bestand met die naam bestaat, vraagt PortQry u 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

Opmerking

In elk van de voorbeelden in deze sectie wordt een query uitgevoerd 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 voert u een query uit op de standaard-UDP-poort op een computer die is opgegeven met behulp van de computernaam:

portqry -n myServer -p udp

Met de volgende opdracht wordt een query uitgevoerd 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 voert u een query uit 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 het bereik van poorten van poort 135 tot poort 139 (inclusief) op de computer 'myServer' opgevraagd:

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's uitvoeren via 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 op een antwoord.

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

Een bronpoort opgeven

Met de volgende opdracht wordt UDP-poort 3001 (indien beschikbaar) op de lokale computer gebruikt 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

Met de volgende opdracht wordt UDP-poort 3000 (indien beschikbaar) op de lokale computer gebruikt om een query te verzenden naar UDP-poort 389 op myDomainController.contoso.com. Standaard moet de LDAP-service 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 eventuele antwoorden 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 waarin PortQry in de stille modus wordt uitgevoerd:

: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 naampqlog.txt. De inhoud van dit bestand ziet er ongeveer als volgt uit:

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

Querypoort 135 (RPC-service)

Met de volgende opdracht voert u een query uit op UDP-poort 135 op de myServer-computer. Standaard moet de RPC-service op deze poort luisteren.

portqry -n myServer -p udp -e 135

Als gevolg hiervan voert PortQry de volgende acties uit:

  • PortQry gebruikt het bestand Services in de map %SYSTEMROOT%\System32\Drivers\Etc om UDP-poort 135 om te lossen naar een service. Met behulp van de standaardconfiguratie zet PortQry de poort om naar de RPC-eindpunttoewijzingsservice (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 meldt dat de poort LUISTERT of GEFILTERD is.
  • PortQry maakt een correct opgemaakte RPC-query die alle eindpunten opvraagt 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 volledige antwoord aan de gebruiker en meldt dat de poort LUISTERT.
    • Als PortQry geen antwoord op deze query ontvangt, wordt gemeld dat de poort GEFILTERD is.
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

Met 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-eindpunttoewijzingsdatabase op de doelcomputer. De uitvoer bevat de UUID (Universal Unique Identifier) 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.

Opmerking

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