PortQry - utilitas untuk memeriksa ketersediaan port TCP / UDP dari Windows

Terlepas dari kenyataan bahwa Windows memiliki banyak alat untuk mendiagnosis masalah dalam jaringan TCP / IP (ping, telnet, pathping, dll.), Tidak semuanya memungkinkan Anda untuk dengan mudah memeriksa status atau memindai port jaringan yang terbuka pada server jauh. Utilitas Portqry.exe adalah alat yang mudah untuk memeriksa ketersediaan port TCP / UDP pada server jarak jauh ketika mendiagnosis masalah yang terkait dengan fungsi berbagai layanan, serta keberadaan firewall dan firewall di jaringan TCP / IP. Paling sering, utilitas Portqry digunakan sebagai pengganti telnet yang lebih fungsional, dan tidak seperti telnet, ia juga memungkinkan memeriksa port UDP terbuka.

Konten:

  • Kami menggunakan PortQry untuk memindai port UDP dan TCP yang terbuka.
  • Status Layanan Jaringan Lanjutan di PortQry
  • GUI untuk Portqry

Kami menggunakan PortQry untuk memindai port UDP dan TCP yang terbuka.

Versi pertama Portqry untuk Windows Server 2003 tidak berfungsi dengan benar dengan sistem operasi yang lebih baru (Windows Server 2008 dan lebih tinggi), sehingga versi kedua utilitas tersebut kemudian dirilis PortQryV2. Versi inilah yang harus digunakan hari ini (Anda dapat mengunduh utilitas PortQryV2 dari tautan).

Pada Windows 10, Anda dapat menginstal portqry melalui manajer paket Chokolatey:

choco pasang portqry

Unduh dan unzip arsip PortQryV2.exe. Jalankan baris perintah dan buka direktori dengan utilitas, misalnya:

cd c: \ tools \ PortQryV2

Untuk memeriksa ketersediaan server DNS dari klien, Anda perlu memeriksa apakah 53 port TCP dan UDP terbuka di sana. Format perintah pemeriksaan ketersediaan port pada server jarak jauh adalah sebagai berikut:

PortQry -n server [-p protokol] [-e || -r || -o titik akhir]

-n - nama atau alamat IP server yang aksesnya harus diperiksa
-e -  nomor port untuk diperiksa (dari 1 hingga 65535)
-r - kisaran port untuk diperiksa (mis. 1:80)
-hal - Protokol apa yang digunakan untuk memeriksa. Itu bisa TCP, UDP atau KEDUA (TCP digunakan secara default).

Catatan. Tidak seperti cmdlet PowerShell Test-NetConnection, yang hanya dapat digunakan untuk memeriksa ketersediaan port TCP, PortQry mendukung protokol TCP dan UDP..

Dalam contoh kita, perintahnya akan seperti ini:

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

Utilitas Portqry untuk setiap port yang ditentukan akan mengembalikan salah satu dari tiga status ketersediaan:

  • Mendengarkan - berarti bahwa port yang ditentukan tersedia (menerima koneksi), respons telah diterima darinya;
  • Tidak Mendengarkan - Proses (layanan) yang menerima koneksi pada port yang ditentukan tidak berjalan pada sistem target. Portqry menerima respons ICMP "Destination Unreachable - Port Unreachable" saat memeriksa port UDP, atau paket TCP dengan flag Reset;
  • Diarsipkan - Utilitas PortQry tidak menerima respons dari port yang ditentukan atau responsnya difilter. Yaitu pada sistem target, port ini tidak mendengarkan, atau akses ke sana dibatasi oleh firewall atau pengaturan sistem. Secara default, port TCP disurvei 3 kali, dan UDP disurvei.

Dalam contoh kami, server DNS dapat diakses dari klien melalui TCP dan UDP.

TCP port 53 (layanan domain): MENDENGARKAN port UDP 53 (layanan domain): MENDENGARKAN

Menggunakan atribut -o, Anda dapat menentukan urutan port yang ingin Anda pindai:

portqry -n 10.1.10.6 -p tcp -o 21.110.143

Perintah berikut akan memindai rentang port TCP "rendah" dan mengembalikan daftar port yang tersedia yang menerima koneksi (utilitas berfungsi dalam mode pemindai port terbuka):

portqry -n 10.1.10.6 -r 1: 1024 | temukan ": MENDENGARKAN"

Anda dapat menyimpan hasil pemindaian port terbuka ke file teks:

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

Utilitas portqry memiliki mode interaktif:

portqry -i

Sekarang di prompt Mode Interaktif PortQry Anda dapat menentukan nama komputer dan port jarak jauh.

simpul srv-lic
atur port = 80

Untuk memeriksa port di server yang ditentukan, klik q dan Masuk.

Menggunakan argumen -wport dan -wpid Anda dapat memonitor status port yang ditentukan (wport), atau semua port yang terkait dengan proses yang ditentukan (wpid) pada host lokal.

Misalnya, perintah berikut dalam 10 menit akan memeriksa ketersediaan port lokal yang ditentukan (misalnya, port RDP 3389), dan jika statusnya berubah, itu akan memberi tahu administrator tentang ini (log terperinci akan tersedia dalam file LogFile.txt). Untuk berhenti memantau, klik Ctrl-c:

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

Anda dapat memperoleh informasi tentang port terbuka dan koneksi TCP / UDP aktif di komputer lokal:

portqry.exe -lokal

Status Layanan Jaringan Lanjutan di PortQry

PortQry menyediakan dukungan bawaan untuk beberapa layanan jaringan. Ini adalah LDAP, Panggilan Prosedur Jarak Jauh (RPC), protokol surat (SMTP, POP3 dan IMAP4), SNMP, FTP / TFTP, Layanan Nama NetBIOS, L2TP dan lainnya. Selain memeriksa ketersediaan port standar layanan ini, utilitas melakukan permintaan khusus protokol untuk mendapatkan status layanan.

Misalnya, menggunakan kueri berikut, kami tidak hanya akan memeriksa ketersediaan layanan mapper titik akhir RPC (TCP / 135), tetapi juga memperoleh daftar nama-nama titik akhir RPC yang terdaftar dalam sistem (termasuk nama mereka, UUID, alamat yang dilampirkan, dan aplikasi, dengan yang mereka terhubung).

portqry -n 10.1.10.6 -p tcp -e 135

TCP port 135 (layanan epmap): MENDENGARKAN Menggunakan port sumber epemeral Querying Endpoint Mapper Database ... Respons server: UUID: d95afe72-a6d5-4259-822e-2c84da1ddb0d ncacn_ip_tcp: 10.1.10.6 [49152] UUID: 897c2f 93f 93f 93f 93f 93f 93f 93f 93f 93f 93f 93f 93f 93f 93f fd2277495c27 Layanan Frs2 ncacn_ip_tcp: 10.1.10.6 [5722] UUID: 6b5bd21e-528c-422c-af8c-a4079be4fe48 API Remote Fw ncacn_ip_tcp: 10.1.10.6 [63006] UUID: 123456723cn kebijakan 10.1.10.6 [63.006] UUID: 367abb81-9844-35f1-ad32-91f038001003 ncacn_ip_tcp: 10.1.10.6 [63.002] UUID: 50abc2a3-574d-40b3-1d66-ee4fd5fba076 ncacn_ip_tcp: 10.1.10.6 [56.020] ... UUID: 3c4428c5-f0ab -448b-bda1-6ce01eb0a6d5 Klien DHCP LRPC Endpoint ncacn_ip_tcp: 10.1.10.6 [49153] Total titik akhir ditemukan: 61 ==== Akhir RPC Endpoint Mapper respons permintaan kueri ==== portqry.exe -n 10.1.10.6 -e 135 - p TCP keluar dengan kode pengembalian 0x00000000.

Atau Anda dapat memeriksa ketersediaan dan respons dari layanan SQL Server Browser di Microsoft SQL Server:

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

Port UDP 1434 (layanan ms-sql-m): MENDENGARKAN atau DI FILTER Mengirim permintaan SQL Server ke port UDP 1434 ... Respons server: ServerName MSK-SQL01 InstanceName MSSQLSERVER IsClustered No Versi 15.0.2000.5 tcp 53200 ServerName MSK-SQL01 InstanceName 15.0.2000.5 tcp 1433 ==== Akhir dari respons permintaan SQL Server ==== Port UDP 1434 MENDENGARKAN

Seperti yang Anda lihat, utilitas portqry tidak hanya menunjukkan ketersediaan port UDP, tetapi juga versi server SQL dan nama instance yang berjalan pada server SQL dan port TCP mereka (satu contoh BANKDB hidup pada port default tcp 1433, MSSQLSERVER kedua menggunakan port tetap dari rentang RPC 53200 ).

Anda dapat polling port SNMP pada perangkat dengan menentukan nama komunitas:
portqry -n host2 -cn! aman! -e 161 -p udp

Saat memeriksa port 25 pada server SMTP, Anda bisa mendapatkan spanduk sambutan server:

portqry -n domain.mail.ru -p tcp -e 25

GUI untuk Portqry

Awalnya, Portqry adalah alat konsol khusus. Untuk kenyamanan pengguna yang tidak ramah dengan baris perintah, Microsoft telah mengembangkan antarmuka grafis sederhana untuk utilitas portqry - PortQueryUI. Anda dapat mengunduh PortQueryUI dari situs unduhan Microsoft http://download.microsoft.com/download/3/f/4/3f4c6a54-65f0-4164-bdec-a3411ba24d3a/PortQryUI.exe

PortQueryUI pada dasarnya adalah tambahan grafis untuk portqry untuk membentuk baris perintah dan mengembalikan hasilnya ke jendela grafis.

Selain itu, PortQueryUI berisi beberapa set kueri yang telah ditentukan untuk memeriksa ketersediaan layanan Microsoft populer:

  • Domain dan trust (memeriksa layanan pada pengontrol domain Active Directory)
  • IP Sec
  • Jaringan
  • SQL Server
  • Server web
  • Server pertukaran
  • Pertemuan bersih

Saya pikir tidak perlu memberikan komentar khusus untuk antarmuka PortQueryUI. Semuanya harus jelas dari tangkapan layar di bawah ini. Masukkan nama DNS atau alamat IP server, pilih salah satu layanan yang telah ditentukan sebelumnya (Layanan yang ditentukan sebelumnya), atau tentukan nomor port untuk verifikasi manual (Secara manual input port permintaan) dan klik tombol Permintaan.

Kemungkinan kode respons di PortQueryUI (disorot dalam tangkapan layar):

  • 0 (0x00000000) - berarti koneksi berhasil dibuat dan port tersedia;
  • 1 (0x00000001) - port yang ditentukan tidak tersedia atau difilter;
  • 2 (0x00000002 adalah kode pengembalian normal ketika memeriksa koneksi UDP, karena respons ACK tidak dikembalikan.