What is PortQry?
PortQry, TCP/IP bağlantı sorunlarını gidermeye yardımcı olmak için kullanabileceğiniz bir komut satırı aracıdır. Bu araç, yerel bir bilgisayardaki veya uzak bilgisayardaki hedef TCP ve Kullanıcı Veri Birimi Protokolü (UDP) bağlantı noktalarının durumunu bildirir. Ayrıca yerel bilgisayarın bağlantı noktası kullanımı hakkında ayrıntılı bilgi sağlar. PortQry'nin sorun giderme aracı olarak kullanılması amaçlandığından, belirli bir sorunu gidermek için bu aracı kullanan kullanıcıların bilgi işlem ortamları hakkında yeterli bilgiye sahip olması gerekir.
Bağlantı testleri için, Telnet veya Powershell kullanılabilir. Ancak UDP veya özel testleri PortQry aracı ile daha hızlı yapabilirsiniz.
PortQry'i birkaç moddan birinde komut isteminden kullanabilirsiniz:
- Komut satırı modu. Yerel veya uzak bilgisayarlarda sorun gidermek için bu modu kullanabilirsiniz.
- Yerel mod. Bu modda, yerel bilgisayarda sorun gidermeye yönelik çeşitli parametreler kullanabilirsiniz.
- Etkileşimli mod. Komut satırı moduna benzer, ancak kısayol komutlarını ve parametrelerini kullanabilirsiniz.
Daha fazla bilgi için bakınız.
PortQry GUI ve CLI olarak kullanılabilir.
Komut Satırı olan(CLI) PortQry kullanımı, başlangıç için zor olabilir.
PortQry GUI yani, grafik kullanıcı arabirimi içeren PortQryUI adlı aracı indirebilirsiniz. PortQryUI, PortQry'nin kullanılmasını kolaylaştırabilecek çeşitli özelliklere sahiptir.
Grafiksel olan PortQryUI indirmek için aşağıdaki linki kullanın.
https://www.microsoft.com/en-us/download/details.aspx?id=24009
Komut satırı olan PortQry ndirmek için linki kullanın.
https://www.microsoft.com/en-us/download/details.aspx?id=17148
PortQry Testleri ve Sonuçları
Tipik bağlantı noktası tarama araçları, hedef UDP bağlantı noktası bir ICMP "Destination unreachable" iletisi döndürmezse bağlantı noktasının LISTENING durumuna sahip olduğunu bildirir. Bu sonuç, aşağıdaki nedenlerden biri veya her ikisi için doğru olmayabilir:
- Yönlendirilmiş bir veri birimine yanıt yoksa hedef bağlantı noktası FILTERED olabilir.
- Çoğu hizmet, kendilerine gönderilen biçimlendirilmemiş bir kullanıcı veri birimine yanıt vermez. Genellikle, bağlantı noktasını dinleyen hizmet veya program yalnızca belirli bir oturum katmanı veya uygulama katmanı protokolü kullanan bir iletiye yanıt verir.
PortQry, daha doğru ve yararlı sonuçlar elde etmek için iki aşamalı bir test işlemi kullanır.
1. Adım: Bağlantı noktası durum testi
PortQry bir bağlantı noktasının durumunu üç değerden biri olarak bildirir:
- LISTENING: Bu yanıt, bir işlemin hedef bağlantı noktasında dinlediğini gösterir. PortQry hedef bağlantı noktasından bir yanıt aldı.
- NOT LISTENING: Bu yanıt, hedef bağlantı noktasında hiçbir işlemin dinlemediğini gösterir. PortQry, hedef bağlantı noktasından aşağıdaki ICMP iletilerinden birini aldı:
- Destination unreachable
- Port unreachable
- FILTERED: Bu yanıt, hedef bağlantı noktasının filtrelendiğini gösterir. PortQry hedef bağlantı noktasından yanıt almadı. Bir işlem hedef bağlantı noktasında dinliyor olabilir veya olmayabilir. Varsayılan olarak, PortQry FILTERED yanıtı döndürmeden önce tcp bağlantı noktasını üç kez sorgular ve FILTERED yanıtı döndürmeden önce bir UDP bağlantı noktasını bir kez sorgular.
2. Adım: Özel testler
Hedef UDP bağlantı noktasından yanıt alınmazsa, PortQry bağlantı noktasının LISTENING or FILTERED olduğunu bildirir. Ancak bir bağlantı sorununu giderirken bağlantı noktasının filtrelenip filtrelenmediğini veya dinlediğini bilmek yararlı olur. Bu durum özellikle bir veya daha fazla güvenlik duvarı içeren bir ortamda geçerlidir.
PortQry, hedef bağlantı noktasında dinleyen hizmet veya programla etkileşim kurabilen ikinci bir test kümesi kullanarak bağlantı noktası durum raporunu iyileştirebilir. Bu test için PortQry aşağıdakileri yapar:
- PortQry, hangi hizmetin her bağlantı noktasını dinlediğini belirlemek için %SYSTEMROOT%\System32\Drivers\Etc klasöründe bulunan Hizmetler dosyasını kullanır.
- PortQry, beklenen hizmet veya program için özel olarak oluşturulan bir ileti oluşturur ve ardından bu iletiyi hedef bağlantı noktasına gönderir. Hizmete veya programa bağlı olarak, ileti aşağıdakiler gibi sorun giderme için yararlı bilgiler isteyebilir:
- Domain and domain controller information (LDAP sorguları)
- Registered client services and ports (RPC sorguları)
- Whether anonymous access is allowed (FTP sorguları)
- MAC address (NetBIOS sorguları)
- Mspclnt.ini file information (ISA Server sorguları)
- PortQry, test raporunun bir parçası olarak hizmetten veya programdan gelen yanıtı ayrıştırıp biçimlendirir ve döndürür.
PortQry Kullanımı
Bir bağlantı noktasının etkileşimli olarak mı yoksa komut dosyası aracılığıyla mı açık olduğunu kontrol etmek, herhangi bir yönetici için oldukça yaygın bir işlemdir. Bunu yapmak isteyebileceğiniz her türlü neden var:
- Bir web sunucusunun kapalı olup olmadığını kontrol edin.
- Bir yazıcının çalışıp çalışmadığını kontrol edin.
- Güvenlik duvarının bağlantı noktasını engelleyip engellemediğini kontrol edin.
- Bir SMTP Sunucusuna erişilip erişilemeyeceğini kontrol edin.
Açık limanları, hepsi artıları ve eksileri olan çeşitli farklı araçları kullanarak test edebilirsiniz..
Bağlantı Testi
Bir bağlantı noktasının açık ve etkileşimli olduğunu kontrol etmek, herhangi bir sistem yöneticisi için oldukça yaygın bir işlemdir. Bunu yapmak isteyebileceğiniz her türlü neden vardır:
- Bir web sunucusunun kapalı olup olmadığını kontrol edin.
- Yazıcının çalışıp çalışmadığını kontrol edin.
- Güvenlik duvarının bağlantı noktasını engelleyip engellemediğini kontrol edin.
- Bir SMTP Sunucusunun erişilebilir olup olmadığını vb. kontrol edin.
Bir bağlantı noktasını test etmek için, hedefin IP adresini ve port bilgilerini bilmeniz gerekmektedir. Şimdi, bir bilgisayarın Uzak Masaüstü Bağlantısının (Default Port 3389) açık olup olmadığına bakalım. Aşağıdaki görselde LISTENING olduğunu ve dönen kodun 0 (Sıfır) olduğunu görebiliriz.
İşlem NOT LISTENING veya FILTERED olarak döner ise aşağıdakileri kontrol etmeniz gerekmektedir.
- Windows cihaz açık mı?
- Windows Uzak Masaüstü Açık mı? (Uygulama açık değilse port dinlemeye alınmayacaktır.)
- Windows Firewall açık ise 3389 portu tanımlı mı?

Ports to query kısmında, birden fazla port veya aralık tanımlanabilir.
DNS, başlangıçtan itibaren her zaman hem UDP'yi hem de TCP bağlantı noktası 53'ü kullanacak şekilde tasarlanmıştır. UDP varsayılandır ve UDP üzerinde iletişim kuramadığında, genellikle paket boyutu içeri aktarılamayacak kadar büyük olduğunda TCP'yi kullanmaya geri döner. PortQry hem UDP hemde TCP testini gerçekleştirdiğini söylemiştik.

UDP kısmında bilmemiz gereken bazı özel durumlar vardır.
- Örneğin, SNMP paketleri TCP bağlantı noktası üzerinden göndermek mümkün olsa da paketleri genellikle UDP üzerinden gönderir. Bu durumda SNMP testini UDP üzerinden gerçekleştireceğimizi varsayalım. SNMP haberleşmesi için, community string yani parola yerine geçer bir değer vardır. Bu cihazlarda genellikle varsayılan olarak public adıyla ayarlanmıştır. Sonuç olarak test ettiğiniz cihaz üzerinde community string public olarak ayarlı değil ise sonuç yanlış olacaktır. Bu gibi durumlarda protokollere özel olarak test yazılımları kullanabilirsiniz. (SNMP Tester)
- Buna benzer şekilde DHCP bağlantı noktası UDP 69'dur. BROADCAST mesajlarını beklediği için DHCP sunucusunada bu testi gerçekleştirilemez. DHCP testi içinde ipconfig/release ve renew gibi basit komutları kullanabilirsiniz. (DHCP için, TFTP araştırılabilir.)
Özel testler
Eğer kılavuzdaki gibi belirtilen özel bir servisi test edecekseniz,
Enter destination IP or FQDN to query kısmına hedef IP adresini ve Query predefined service kısmında test edeceğiniz hazır sorguları seçebilirsiniz. Aşağıdaki görselde Active Directory servisi için test gerçekleştirilmiştir.

Service to query kısmında hazır özel servisleri kullanabilirsiniz. Varsayılan portlar ile test edilecektir.
- Domains and Truts (Active Directory Domain Service)
- Web Service (SMTP, Pop3, HTTP, TELNET,FTP)
- SQL Service (Microsoft SQL Server)
- Exchange Server