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


Windows platformunda, yerel makinemde bir bağlantı noktasının (örneğin 3306) olup olmadığını kontrol etmek için hangi yerel seçenekler var ( localhost) engelleniyor mu?


92
2018-06-16 14:21


Menşei


Sadece açıklığa kavuşturmak için, bir güvenlik duvarı veya ağ geçidi tarafından engellendiği gibi engelleniyor mu, yoksa başka bir şey tarafından kullanılıyor mu demek istiyorsunuz? - squillman
PC Güvenlik Duvarı sınamasını denetle Harici bir kaynaktan belirli bir portu veya bir dizi portu test etmenizi sağlar. - Peter Stuer


Cevaplar:


Windows makinesinde olduğunuzdan, bu şeyler yapılabilir,

  • Aşağıdaki komutu yürütün ve bir ": 3306" dinleyici arayın (UDP / TCP'den bahsetmediniz). Bu, bağlantı noktasında çalışan bir şey olduğunu onaylayacaktır.

    netstat -a -n

  • Bundan sonra, bu bağlantı noktasında gelen bağlantıları bekliyor ve güvenlik duvarının bunları engelliyor olabileceğini düşünüyorsanız, windows güvenlik duvarı kaydını başlat ve bırakılan bağlantılar için günlükleri kontrol edin

    • Windows Güvenlik Duvarı, Gelişmiş ayarlar'a gidin.
    • "Yerel Alan 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 (eğer mevcut değilse tanımlayın)
    • Tamam'a tıklayın
    • Şimdi, bağlantı girişimi yapıldığında (bunun ne zaman yapıldığını bildiğinizi varsayarsak), 3306 numaralı bağlantı noktasında bir düşüş 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 tane daha komut var.
    (Windows 7 kullanıcıları için güncelleştirme - tarafından belirtildiği gibi Nick aşağıda - kullanım netsh advfirewall güvenlik duvarı)

    netsh güvenlik duvarı gösterisi durumu

    • Bu, uygulama bağlantılarıyla birlikte aktif dinleme bağlantı noktalarının yanı sıra engellenen bağlantı noktalarını da listeler.
  • Bu komut Windows güvenlik duvarı yapılandırma detayını boşaltacaktır

    netsh güvenlik duvarı gösterisi yapılandırması


Oturum açmaya başladıktan sonra etkin bir bloğunuz varsa (gelen bağlantılar güvenlik duvarı tarafından düşürülüyorsa), günlükte görmeniz gerekir.

3306’da dinleyen bir uygulama / hizmet çalıştırıyorsanız, güvenlik duvarı yapılandırması Etkin olduğunu göstermelidir. Bu görülmezse, muhtemelen bu uygulamaya / hizmete izin vermek için güvenlik duvarında bir istisna ekleyerek kaçırdınız.

Son olarak, port 3306 tipik olarak MySQL için kullanılır. Bu yüzden, bu windows makinesinde MySQL sunucusunu çalıştırdığınızı farz ediyorum. Bu nedenle gelen bağlantıları kabul eden 3306 için bir dinleyici görmelisiniz. Bunu görmüyorsanız, önce başlamanız için uygulamanızla (MySQL) çalışmanız gerekir.


100
2018-06-16 14:28



Harika ayrıntılar için +1 - Sage
Windows Vista ile başlayarak "netsh firewall" komutu kullanımdan kaldırılmıştır. Bunun yerine "netsh advfirewall güvenlik duvarı" kullanmanızı ve makale makalenizi kullanmanızı önerir. go.microsoft.com/fwlink/?linkid=121488 - Nick DeVore
Komut satırında çıktı ayrıştırmak için |find "3306" komuta, ör. C:\Windows\System32>netstat -an |find "3306" - Cees Timmerman
İkinci tavsiyenin 2. adımında belirtilen ayarlar düğmesini bulamıyorum ... - Bassie
@Bassie, dene docs.microsoft.com/en-us/windows/access-protection/... - nik


NETSTAT limanın olup olmadığını söyleyecektir dinleme ama limanın olup olmadığını size söylemez açık dış dünyaya. Bununla demek istediğim bu NETSTAT 0.0.0.0'ın 3306 nolu bağlantı noktasında DİNLEME olduğunu, ancak bir dış duvarın dış bağlantıları engelleyen bir bağlantı noktasını hala bloke ettiğini gösterebilir; bu yüzden güvenmek yeterli değil NETSTAT yalnız.

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

Bağlantı noktası taraması yapmanın birçok yolu vardır, ancak Windows'da olmanızdan bahsetmiş olduğunuzdan, Microsoft komut satırı yardımcı programını öneririm. PortQry ve Grafik versiyonu PortQryUI

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

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

Belirli bir portu test etmek için:

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

Örneğin, bir yönlendiricinin Web arabirimini 192.168.1.1'de test etmek için:

portqry.exe -n 192.168.1.1 -e 80

Hangi döndürür:

TCP port 80 (http service): LISTENING

HTTPD çalıştırma özelliği olmayan yerel bir makinede test yaparken nerede:

TCP port 80 (http service): NOT LISTENING

PortScan yardımcı programını kullanarak 3 sonuçtan birini elde edersiniz.

  • Listening sunucu belirtilen bağlantı noktasını dinliyor demektir
  • Filtered bir güvenlik duvarı veya yazılım sorunu olduğunu gösteren Sıfırlama bayrağı seti ile bir TCP alındı ​​paketi aldı demektir
  • Not Listening hiç cevap almadığı anlamına gelir

telnet genellikle varsayılan olarak işletim sisteminde 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 bir ağ isteğine yanıt verip vermediğini görmek için hızlı bir şekilde kullanılabilir.

Kullanmak telnet Bir komut isteminden aşağıdaki komutu vermeniz yeterlidir:

telnet localhost 3306

Yukarıdaki komut, portu hızlı bir şekilde göstermelidir. 3306 üzerinde localhost cevap veriyor.


18
2018-04-04 00:47



PortQryUI'yi indirdim ve hem tcp hem de udp'de 445 portunu bloke edip etkinleştirdikten sonra kontrol ettim, aynı tcp'de dinlemeyi ve udp'de dinlemeyi gösteriyorum. - Liam neesan


PowerShell 4.0'dan beri komutu kullanabilirsiniz Test-NetConnection

3306 numaralı bağlantı noktasını örneğinizde olduğu gibi test etmek isterseniz, komut

Test-NetConnection -ComputerName localhost -Port 3306

TechNet Test-NetConnection belgeleri


9
2018-01-17 14:56



Bunun için +1. En modern windows makinelerinde herhangi bir şeyin kurulumunu gerektirmeyen gerçekten güzel bir alternatif. - DCaugs


Yerel makineden (harici IP adresini kullanarak), fakat başka bir makineden değil - portuna telnet yapabiliyorsanız, o zaman aralarında bir yerde engellenir.

Yerel makinenizde bir güvenlik duvarı olduğunu unutmayın. could İlk hareketi bile önleyin.


5
2018-06-16 14:27



Telnet'in Win7 ve daha yeni sistemlerde yüklü olmadığını unutmayın. - Alexis Wilke
@AlexisWilke Bu doğru değil. Telnet yüklü olabilir - deepdive
Telnet'i komut satırından kurmak için: dism / online / Enable-Feature / FeatureName: TelnetClient - Jason Massey