PortQry - nástroj na kontrolu dostupnosti portov TCP / UDP zo systému Windows

Napriek tomu, že Windows má veľa nástrojov na diagnostiku problémov v sieťach TCP / IP (ping, telnet, pathping atď.), Nie všetky z nich vám umožňujú pohodlne skontrolovať stav alebo skenovať otvorené sieťové porty na vzdialenom serveri. užitočnosť PortQry.exe je praktický nástroj na kontrolu dostupnosti portov TCP / UDP na vzdialenom serveri pri diagnostikovaní problémov spojených s fungovaním rôznych služieb, ako aj prítomnosti brán firewall a brán firewall v sieťach TCP / IP. Nástroj Portqry sa najčastejšie používa ako funkčnejšia náhrada telnetu a na rozdiel od telnetu umožňuje aj kontrolu otvorených portov UDP..

obsah:

  • PortQry používame na skenovanie otvorených portov UDP a TCP.
  • Stav rozšírených sieťových služieb v PortQry
  • GUI pre Portqry

PortQry používame na skenovanie otvorených portov UDP a TCP.

Prvá verzia systému Portqry pre systém Windows Server 2003 nepracuje správne s novšími operačnými systémami (Windows Server 2008 a vyšší), takže druhá verzia nástroja bola neskôr vydaná PortQryV2. Je to táto verzia, ktorá by sa mala používať dnes (môžete si stiahnuť pomôcku PortQryV2 z odkazu).

V systéme Windows 10 môžete portqry nainštalovať prostredníctvom správcu balíkov Chokolatey:

choco nainštaluj portqry

Stiahnite a rozbaľte archív PortQryV2.exe. Spustite príkazový riadok a prejdite do adresára s obslužným programom, napríklad:

cd c: \ tools \ PortQryV2

Ak chcete skontrolovať dostupnosť servera DNS od klienta, musíte skontrolovať, či je na ňom otvorených 53 portov TCP a UDP. Formát príkazu na kontrolu dostupnosti portu na vzdialenom serveri je nasledujúci:

PortQry -n server [-p protokol] [-e || -r || -o koncový bod (-y)]

-n - názov alebo IP adresa servera, pre ktorý sa musí skontrolovať prístup
-e -  číslo portu na kontrolu (od 1 do 65535)
-r - rozsah portov na kontrolu (napr. 1:80)
-p - Aký protokol sa používa na kontrolu. Môže to byť TCP, UDP alebo BOTH (štandardne sa používa TCP).

poznámka. Na rozdiel od rutiny PowerShell Test-NetConnection, ktorú možno použiť iba na kontrolu dostupnosti portov TCP, PortQry podporuje protokoly TCP aj UDP..

V našom príklade bude príkaz nasledovný:

PortQry.exe -n 10.1.10.6 -p obidva -e 53

Obslužný program Portqry pre každý určený port vráti jeden z troch stavov dostupnosti:

  • počúvanie - znamená, že určený port je k dispozícii (prijíma pripojenia), z ktorého bola prijatá odpoveď;
  • nie počúvanie - Proces (služba), ktorý prijíma pripojenia na zadanom porte, nie je spustený v cieľovom systéme. Portqry dostal odpoveď ICMP „Destination Unreachable - Port Unreachable“ pri kontrole portu UDP alebo paketu TCP s príznakom Reset;
  • filtrovaný - Obslužný program PortQry nedostal odpoveď zo zadaného portu alebo bola odpoveď filtrovaná. tj v cieľovom systéme tento port buď nepočúva, alebo je prístup k nemu obmedzený bránou firewall alebo systémovými nastaveniami. Štandardne sa TCP porty volia trikrát a jeden UDP.

V našom príklade je server DNS prístupný z klienta cez TCP a UDP.

TCP port 53 (služba domény): LISTENING port UDP 53 (služba domény): LISTENING

Použitie atribútu -o, Môžete určiť poradie portov, ktoré chcete skenovať:

portqry -n 10,1,10,6 -p tcp -o 21 110 143

Nasledujúci príkaz prehľadá rozsah „nízkych“ portov TCP a vráti zoznam dostupných portov, ktoré akceptujú pripojenia (obslužný program pracuje v režime skenovania otvorených portov):

portqry -n 10.1.10.6 -r 1: 1024 | nájsť ": POČÚVANIE"

Výsledky skenovania otvorených portov môžete uložiť do textového súboru:

portqry -n 10.1.10.6 -p tcp -r 20: 500 -l logfile.txt

Obslužný program portqry má interaktívny režim:

portqry -i

Teraz na výzve Interaktívny režim PortQry môžete zadať názov vzdialeného počítača a portu.

uzol srv-lic
nastavený port = 80

Ak chcete skontrolovať port na zadanom serveri, kliknite na ikonu q a Enter.

Použitie argumentov -wport a -wpid Na lokálnom hostiteľovi môžete monitorovať stav zadaného portu (wport) alebo všetkých portov priradených k zadanému procesu (wpid)..

Napríklad nasledujúci príkaz skontroluje dostupnosť zadaného lokálneho portu do 10 minút (napríklad RDP portu 3389) a ak sa zmení jeho stav, oznámi to správcovi (podrobný protokol bude k dispozícii v súbore LogFile.txt). Ak chcete monitorovanie zastaviť, kliknite na ikonu Ctrl-C:

portqry -port 3389 -wt 600 -l LogFile.txt -y -v

Informácie o otvorených portoch a aktívnych pripojeniach TCP / UDP môžete získať na lokálnom počítači:

portqry.exe -local

Stav rozšírených sieťových služieb v PortQry

PortQry poskytuje vstavanú podporu pre niektoré sieťové služby. Sú to LDAP, vzdialené volania procedúr (RPC), poštové protokoly (SMTP, POP3 a IMAP4), SNMP, FTP / TFTP, NetBIOS Name Service, L2TP a ďalšie. Okrem kontroly dostupnosti týchto štandardných portov týchto služieb obslužný program vykonáva požiadavky špecifické pre protokol na získanie stavu služby.

Napríklad pomocou nasledujúceho dotazu nielen skontrolujeme dostupnosť mapovacej služby koncového bodu RPC (TCP / 135), ale získame aj zoznam názvov koncových bodov RPC zaregistrovaných v systéme (vrátane ich názvu, UUID, adresy, ku ktorej sú pripojené, a aplikácie s ktoré sú spojené).

portqry -n 10.1.10.6 -p tcp -e 135

Port TCP 135 (služba epmap): POČÚVANIE Použitie efemérneho zdrojového portu Databáza Querying Endpoint Mapper Database ... Reakcia servera: UUID: d95afe72-a6d5-4259-822e-2c84da1ddb0d ncacn_ip_tcp: 10.1.10.6 [49152] UUID: 897e215fc-93fc-93fc-93fc-93fc fd2277495c27 Frs2 Service ncacn_ip_tcp: 10.1.10.6 [5722] UUID: 6b5bd21e-528c-422c-af8c-a4079be4fe48 Remote Fw API ncacn_ip_tcp: 10.1.10.6 [63006] UUID: 12345c72-end politika 10.1.10.6 [63006] UUID: 367abb81-9844-35f1-ad32-91f038001003 ncacn_ip_tcp: 10.1.10.6 [63002] UUID: 50abc2a3-574d-40b3-1d66-ee4fd5fba076 ncacn_ip_tcp: 10.1.10.6 [56020] ... UUID: 3c4428c5-f0ab -448b-bda1-6ce01eb0a6d5 DHCP klient LRPC Koncový bod ncacn_ip_tcp: 10.1.10.6 [49153] Celkom nájdených koncových bodov: 61 ==== Koniec odpovede koncového bodu mapovača RPC ==== portqry.exe -n 10.1.10.6 -e 135 - p TCP ukončí návratový kód 0x00000000.

Alebo si môžete skontrolovať dostupnosť a odpoveď zo služby SQL Server Browser na serveri Microsoft SQL Server:

PortQry.exe -n msk-sql1 -e 1434 -p UDP

Port UDP 1434 (služba ms-sql-m): LISTENING alebo FILTERED Odosielanie dotazu servera SQL na port UDP 1434 ... Reakcia servera: ServerName MSK-SQL01 InstanceName MSSQLSERVER IsClustered No Version 15.0.2000.5 tcp 53200 ServerName MSK-SQL01 InstanceName BANKDB IsClustered No Version 15.0.2000.5 tcp 1433 ==== Koniec odpovede na dotaz servera SQL ==== Port UDP 1434 je POČÚVANIA

Ako vidíte, obslužný program portqry ukázal nielen dostupnosť portu UDP, ale aj verziu servera SQL a názvy inštancií spustených na serveri SQL a ich TCP porty (jedna inštancia BANKDB žije na predvolenom porte tcp 1433, druhá MSSQLSERVER používa pevný port z rozsahu RPC 53200). ).

Port zariadenia SNMP môžete na zariadení odoslať zadaním názvu komunity:
portqry -n host2 -cn! bezpečné! -e 161 -p udp

Pri kontrole portu 25 na serveri SMTP môžete získať uvítací banner servera:

portqry -n doména.mail.ru -p tcp -e 25

GUI pre Portqry

Portqry bol spočiatku výlučne konzolovým nástrojom. Pre pohodlie používateľov, ktorí nie sú spokojní s príkazovým riadkom, spoločnosť Microsoft vyvinula jednoduché grafické rozhranie pre obslužný program portqry - PortQueryUI. PortQueryUI si môžete stiahnuť z lokality Microsoft na stiahnutie http://download.microsoft.com/download/3/f/4/3f4c6a54-65f0-4164-bdec-a3411ba24d3a/PortQryUI.exe

PortQueryUI je v podstate grafický doplnok pre portqry na vytvorenie príkazového riadku a vrátenie výsledku do grafického okna..

PortQueryUI navyše obsahuje niekoľko preddefinovaných množín otázok na kontrolu dostupnosti populárnych služieb spoločnosti Microsoft:

  • Doména a trust (kontrola služieb na radiči domény Active Directory)
  • IP Sec
  • Networking
  • SQL Server
  • Webový server
  • Exchange server
  • Čisté stretnutie

Myslím si, že nie je potrebné dávať špeciálne pripomienky rozhraniu PortQueryUI. Všetko by malo byť jasné z obrazovky nižšie. Zadajte názov DNS alebo IP adresu servera, vyberte jednu z preddefinovaných služieb (preddefinovaná služba Query) alebo zadajte čísla portov na manuálne overenie (porty manuálneho zadávania dopytu) a kliknite na tlačidlo Query.

Možné kódy odpovedí v PortQueryUI (zvýraznené na snímke obrazovky):

  • 0 (0x00000000) - znamená, že pripojenie bolo úspešne nadviazané a port je k dispozícii;
  • 1 (0x00000001) - určený port je nedostupný alebo filtrovaný;
  • 2 (0x00000002 je normálny návratový kód pri kontrole pripojenia UDP, pretože odpoveď ACK sa nevracia.