Bir Windows makinesinde bir bağlantı noktasının engellenip engellenmediği nasıl kontrol edilir?


105

Windows platformunda, yerel makinemdeki bir portun (örneğin, 3306 localhost) engellenip engellenmediğini kontrol etmem gereken hangi yerel seçenekler var ?


1
Açıklığa kavuşturmak için, bir güvenlik duvarı veya ağ geçidi tarafından engellendiği gibi engellenmiş mi demek istiyorsunuz veya başka bir şey tarafından zaten kullanılıyor mu demek istiyorsunuz?
squillman

1
Bilgisayarımı Denetle Güvenlik Duvarı testi , belirli bir bağlantı noktasını veya bir dizi bağlantı noktasını harici bir kaynaktan test etmenize olanak sağlar.
Peter Stuer

Yanıtlar:


111

Windows makinesinde olduğunuzdan, bunlar yapılabilir

  • Aşağıdaki komutu uygulayın ve ": 3306" dinleyicisini arayın (UDP / TCP'den bahsetmediniz). Bu, bağlantı noktasında çalışan bir şey olduğunu doğrular.

    netstat -a -n

  • Bundan sonra, bu bağlantı noktasında gelen bağlantıları bekliyorsanız ve güvenlik duvarının onları engellediğini düşünüyorsanız, Windows güvenlik duvarı günlüğünü başlatabilir ve kaybedilen bağlantılar için günlükleri kontrol edebilirsiniz.

    • Windows Güvenlik Duvarı, Gelişmiş ayarlara gidin
    • "Yerel Ağ Bağlantısı" nın yanındaki Ayarlar düğmesine tıklayın.
    • "Bırakılan paketleri günlüğe kaydet" i seçin
    • Günlük dosyası konumuna bakın (yoksa bir tane tanımla)
    • Tamam'ı tıklayın
    • Şimdi, bağlantı girişimi yapıldığında (bunun ne zaman yapıldığını bildiğinizi varsayarak), 3306 numaralı bağlantı noktasında bir bırakma için günlük dosyasına bakın.
    • Bu görülürse, bu bağlantı noktası için bir istisna eklemek isteyeceksiniz.
  • Güvenlik duvarı durumunu kontrol etmek için bir komut daha var
    (Windows 7 kullanıcıları için güncelleme - Nickaşağıda belirtildiği gibi - netsh advfirewall firewall kullanın )

    netsh güvenlik duvarı durumu göster

    • bu, engellenen bağlantı noktalarını ve uygulama ilişkilendirmeleri olan etkin dinleme bağlantı noktalarını listeler.
  • Bu komut Windows güvenlik duvarı yapılandırma ayrıntılarını atar

    netsh güvenlik duvarı show config


Günlük kaydını başlattıktan sonra aktif bir bloğunuz varsa (gelen bağlantılar güvenlik duvarı tarafından kesiliyorsa), bunu günlüğünde görmelisiniz.

3306'da dinleyen bir uygulamayı / hizmeti kullanıyorsanız, güvenlik duvarı yapılandırmasının Etkin olduğunu göstermelidir. Bu görülmezse, bu uygulamaya / hizmete izin vermek için güvenlik duvarına bir istisna eklemeyi kaçırmış olabilirsiniz.

Son olarak, 3306 numaralı bağlantı noktası tipik olarak MySQL için kullanılır. Bu nedenle, bu Windows makinesinde MySQL sunucusunu çalıştırdığınızı varsayıyorum. Bu nedenle, gelen bağlantıları kabul eden 3306 için bir dinleyici görmelisiniz. Bunu görmüyorsanız, önce bunu başlatmak için uygulamanızla (MySQL) çalışmanız gerekir.


4
Ayrıntılar için +1
Sage

3
Windows Vista ile başlayan "netsh firewall" komutu kullanımdan kaldırılmıştır. Bunun yerine "netsh advfirewall firewall" kullanmanızı önerir ve go.microsoft.com/fwlink/?linkid=121488
Nick DeVore

5
Komut satırında çıktıyı ayrıştırmak için, komuta ekleyin |find "3306", örneğinC:\Windows\System32>netstat -an |find "3306"
Cees Timmerman

İkinci tavsiyenin 2. adımında belirtilen ayarlar düğmesini bulamıyorum ...
Bassie


23

NETSTATportun dinlenip dinlenmediğini size söyleyecektir, ancak liman dış dünyaya açık olup olmadığını size söyleyemeyecektir . Bununla demek istediğim NETSTAT, 0.0.0.0'ın 3306 numaralı bağlantı noktasında DİNLENMESİ olduğunu gösterebilir, ancak bir güvenlik duvarı hala dış bağlantıları engelleyen bağlantı noktasını engelliyor olabilir; bu yüzden NETSTATyalnız güvenmek yeterli değil .

Bir portun engellenip engellenmediğini kontrol etmenin en iyi yolu, istemci makineden port taraması yapmaktır.

Bağlantı noktası taraması yapmanın birçok yolu vardır, ancak Windows'ta olduğundan bahsettiğinizden bu yana Microsoft komut satırı yardımcı programını PortQryve PortQryUI Grafik sürümünü önereceğim

Tüm açık portları test etmek için:

portqry.exe -n #.#.#.#   

Belirli bir bağlantı noktasını test etmek için:

portqry.exe -n #.#.#.# -e #

Örneğin bir yönlendiricinin Web arayüzünü 192.168.1.1'de test etmek için:

portqry.exe -n 192.168.1.1 -e 80

Hangi döner:

TCP port 80 (http service): LISTENING

Yerel bir makinede test edilmeden veya HTTPD çalışması yapılmazsa:

TCP port 80 (http service): NOT LISTENING

PortScan yardımcı programını kullanarak 3 sonuçtan birini alırsınız.

  • Listening sunucunun belirtilen bağlantı noktasını dinlediği anlamına gelir
  • Filtered Bir güvenlik duvarı veya yazılım sorunu olduğunu belirten, Reset flag setiyle birlikte bir TCP onay paketi aldığını gösterir.
  • Not Listening hiç cevap alamadığı anlamına gelir

telnetOS’de varsayılan olarak yüklü olan başka bir komut satırı seçeneğidir. Bu komut satırı yardımcı programı, bir bağlantı noktasının ağ isteğine yanıt verip vermediğini görmek için hızlı bir şekilde kullanılabilir.

Kullanmak için telnetkomut isteminde aşağıdaki komutu kullanmanız yeterlidir:

telnet localhost 3306

Liman Yukarıdaki komut size hızlı bir göstergesi vermelidir 3306üzerinde localhostyanıt veriyor.


PortQryUI'yi indiriyorum ve 445 portunu hem tcp hem de udp olarak engelledikten ve etkinleştirdikten sonra kontrol ettim, tcp'de aynı dinlemeyi gösteriyor ve udp'da dinlemiyor.
Liam neesan

17

PowerShell 4.0’dan bu yana komutu kullanabilirsiniz. Test-NetConnection

Port 3306'yı örneğinizdeki gibi test etmek istiyorsanız, komut

Test-NetConnection -ComputerName localhost -Port 3306

TechNet Test-NetConnection belgeleri


Bunun için +1. Çoğu modern pencere makinesine herhangi bir şey yüklemeyi gerektirmeyen gerçekten güzel bir alternatif.
DCaugs

5

Yerel makineden bağlantı noktasına telnet yapabilirsiniz (harici IP adresini kullanarak), ancak başka bir makineden değil - o zamanlar arasında bir yerde engellenir.

Yerel makinenizde bir güvenlik duvarı unutmayın olabilir hatta ilk eylemi engeller.


Telnet'in Win7 ve daha yeni sistemlerde artık kurulmadığını unutmayın.
Alexis Wilke

@AlexisWilke Bu doğru değil. Telnet kurulabilir
derin dalış

4
Telnet'i komut satırından yüklemek için: dism / online / Enable-Feature / FeatureName: TelnetClient
Jason Massey
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.