it-swarm-tr.com

Bir Windows makinesinde bir portun engellenip engellenmediğini nasıl kontrol edebilirim?

Windows platformunda, yerel makinemdeki bir bağlantı noktasının (örneğin 3306) (localhost gibi) engellenip engellenmediğini kontrol etmem gereken yerel seçenekler nelerdir?

109
Boris Pavlović

Windows makinesinde olduğunuz için bunlar yapılabilir,

  • Aşağıdaki komutu yürütün ve bir ": 3306" dinleyicisi 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ına gelen bağlantılar bekliyorsanız ve güvenlik duvarının onları engelliyor olabileceğini düşünüyorsanız, windows güvenlik duvarı günlüğünü başlat ve günlüklerde kopuk bağlantılar olup olmadığını kontrol edin

    • Windows Güvenlik Duvarı, Gelişmiş ayarlara gidin
    • "Yerel Ağ Bağlantısı" nın yanındaki Ayarlar düğmesini tıklayın
    • "Bırakılan paketleri günlüğe kaydet" i seçin
    • Günlük dosyasının konumuna bakın (eğer yoksa tanımlayın)
    • Tamam'ı tıklayın
    • Şimdi, bağlantı denemesi yapıldığında (bunun ne zaman yapıldığını bildiğinizi varsayarak), 3306 numaralı bağlantı noktasında bir düşüş olup olmadığını görmek 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 - aşağıda Nick ile belirtildiği gibi - netsh advfirewall güvenlik duvarını 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ı yapılandırma yapılandırması


Günlüğe kaydetmeye başladıktan sonra etkin bir bloğunuz varsa (gelen bağlantılar güvenlik duvarı tarafından düşürülüyorsa), bunu 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ünmezse, muhtemelen bu uygulamaya/hizmete izin vermek için güvenlik duvarına bir istisna eklemeyi kaçırdınız.

Son olarak, 3306 numaralı bağlantı noktası tipik olarak MySQL için kullanılır. Bu yüzden, bu windows makinesinde MySQL sunucusu ç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 uygulamayı başlatmak için uygulamanızla (MySQL) çalışmanız gerekir.

113
nik

NETSTAT bağlantı noktasının dinleme olduğunu söyleyecektir, ancak bağlantı noktasının dış dünyaya açık olup olmadığını söylemeyecektir. Bununla kastettiğim, NETSTAT, 0.0.0.0'ın 3306 numaralı bağlantı noktasında DİNLEME olduğunu gösterebilir, ancak bir güvenlik duvarı yine de dış bağlantıları engelleyen bağlantı noktasını engelliyor olabilir; bu yüzden sadece NETSTAT 'ye güvenmek yeterli değildir.

Bir bağlantı noktasının engellenip engellenmediğini kontrol etmenin en iyi yolu istemci makineden bir bağlantı noktası taraması yapmaktır.

Bir bağlantı noktası taraması yapmanın birçok yolu vardır, ancak Windows'ta olduğundan bahsettiğinizden beri Microsoft komut satırı yardımcı programını PortQry ve Grafik sürümü PortQryUI

Tüm açık bağlantı noktalarını 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 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ışması olmayan yerel bir makinede test olarak döndürme:

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ğini gösterir
  • Filtered, büyük olasılıkla güvenlik duvarı veya yazılım sorunu olduğunu belirten Sıfırlama bayrağı ayarlı bir TCP onay paketi aldığı anlamına gelir)
  • Not Listening hiç yanıt almadığı anlamına gelir

telnet genellikle işletim sistemine varsayılan olarak yüklenmiş 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örmenin hızlı bir yolu olabilir.

telnet kullanmak için Komut İstemi'nden şu komutu vermeniz yeterlidir:

telnet localhost 3306

Yukarıdaki komut 3306 _ localhost yanıt veriyor.

25
Tim Penner

PowerShell 4.0'dan beri Test-NetConnection

Örneğin 3306 numaralı bağlantı noktasını test etmek isterseniz, komut

Test-NetConnection -ComputerName localhost -Port 3306

TechNet Test-NetConnection belgeleri

21
Marcel Janus

Yerel makineden porta telnet yapabiliyorsanız (harici IP adresini kullanarak), ancak başka bir makineden değil - aralarında bir yerde engelleniyorsa.

Yerel makinenizdeki bir güvenlik duvarının could ilk eylemi bile önlediğini unutmayın.

5
Brent