Windows sunucusunda bir bağlantı noktasının açık olup olmadığını nasıl belirlerim? [kapalı]


478

Bir sunucu üzerinde alternatif bir bağlantı noktası altında bir site yüklemeye çalışıyorum, ancak bağlantı noktası bir güvenlik duvarı tarafından kapatılmış olabilir. Açık olup olmadığını görmek için belirli bir bağlantı noktasında ping atma veya içeri girmenin bir yolu var mı?


Yanıtlar:


732

Kullanmaya çalıştığınız bir TCP (UDP yerine) bağlantı noktası olduğunu varsayarsak:

  1. Sunucunun kendisinde netstat -anhangi bağlantı noktalarının dinlendiğini görmek için kullanın .

  2. Dışarıdan, bağlantının reddedildiğini, kabul edildiğini veya zaman aşımlarını görmek için telnet host port(veya telnet host:portUnix sistemlerinde) düğmesini kullanın.

Bu ikinci testte, o zaman genel olarak:

  • bağlantı reddedildi , bu bağlantı noktasında hiçbir şeyin çalışmadığı anlamına gelir
  • kabul edilen , o bağlantı noktasında bir şeylerin çalıştığı anlamına gelir
  • zaman aşımı , güvenlik duvarının erişimi engellediği anlamına gelir

Windows 7 veya Windows Vista'da varsayılan 'telnet' seçeneği dahili veya harici komut, çalıştırılabilir program veya toplu iş dosyası olarak tanınmaz. Bunu çözmek için etkinleştirmeniz yeterlidir: * Başlat ** → Denetim MasasıProgramlarWindows Özelliklerini aç veya kapat'ı tıklayın . Listede aşağı kaydırın ve Telnet İstemcisi'ni seçin ve tıklayın OK.


312
Win7 veya Vista'da varsayılan 'telnet' seçeneği dahili veya harici komut, çalıştırılabilir program veya toplu iş dosyası olarak tanınmaz. Bunu çözmek için etkinleştirmeniz yeterlidir: Başlat'ı, Denetim Masası'nı, Programlar'ı ve ardından Windows Özelliklerini aç veya kapat'ı tıklayın. Listede aşağı kaydırın ve Telnet İstemcisi'ni seçin ve Tamam'ı tıklayın
volody

12
@PankajKohli bunun yerine PuTTy telnet istemcisini kullanır. Kurulmasına gerek yoktur.
Colin Pickard

52
Neyi Could not open connection to the host, on port *x*: Connect failedgösterir?
Kenny Evitt

2
@Alnitak Bu soruya zaten cevap verdiğini düşündüğüm gibi kontrol etmek istedim. Ne zaman telnet api-3t.sandbox.paypal.com 443alırım Connecting to api-3t.sandbox.paypal.com...Could not open connection to the host on port 443: Connect failedBu güvenlik duvarı engellediği için mi?
Temel Reis

2
Bir fark olup olmadığını açık telnet.exe ve sonra yazın o host portyazın ardından açık komut satırı (cmd.exe) vs vetelnet host port
Pawel Cioch

185

Windows'da şunları kullanabilirsiniz:

netstat -na | find "your_port"

sonuçları daraltmak için. Ayrıca için filtre LISTENING, ESTABLISHED, TCPve bu tür. Yine de büyük / küçük harf duyarlı olduğuna dikkat edin.


4
böyle bulmak kullanamazsınız, dosyaları arayacak, grep kullanmalısınız
Moataz Elmasry

38
@MoatazElmasry, Linux'ta bu doğru, ancak bu, bulmanın doğru komut olduğu bir Windows sunucusunda. Grep Windows'ta mevcut değildir. Burada bahsi geçen tam komutu çalıştırdım ve mükemmel çalıştı.
Ben Wyatt

4
Bu komutu kullandığımda yani netstat -an | "19345" bul, sonuç alamadım. bunun anlamı ne?
nanosoft

14
findbenim için Windows 10'da işe yaramadı, ama netstat -na | findstr "8080"çalıştı
arun

6
find or findstr ile değil, hiçbir şey olmaz
16:19

83

Dışarıdan kontrol ediyorsanız, sunucunun kendisinden değil ve telnet (Windows'un son sürümleriyle birlikte gelmediği için) veya başka bir yazılım yüklemeyi rahatsız etmek istemiyorsanız, yerel PowerShell'iniz vardır:

Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed

(Ne yazık ki bu yalnızca PowerShell 4.0 veya daha yeni sürümlerle çalışır. PowerShell sürümünüzü kontrol etmek için yazın $PSVersionTable.)

Not: Bugünlerde twittersphere'de bu cevabın PowerShell Core'dan "Test-Connection" veya "tnc" kısayolundan bahsedilerek iyileştirilebileceğini ima eden bazı iddialar var. Https://twitter.com/david_obrien/status/1214082339203993600 adresine bakın ve iyileştirmek için lütfen bu yanıtı düzenlememe yardımcı olun!


(PSVersion <4.0 değeriniz varsa, şansınız kalmadı. Bu tabloyu kontrol edin:

Resim açıklamasını buraya girin

Windows Management Framework 4.0'ı yükleyerek PowerShell sürümünüzü yükseltebilirsiniz , ancak benim için hile yapmadı, Test-NetConnection cmdlet'i hala mevcut değil).


3
Bu en iyi cevap. Telnet'i kurmak her zaman başkalarının sunucularında kolay değildir!
TrojanName

Kesinlikle en iyi cevap olmalı.
QtRoS

1
Bu, telnet'ten daha güvenilir bir seçenektir, telnet hiçbir şey bildirmemekle kalmaz, bu da portun benim durumumda mevcut olduğunu bildirir.
axk

42

Windows makinesinde, bir uygulamanın aşağıdaki komutu kullanarak belirli bir bağlantı noktasını dinleyip dinlemediğini kontrol etmek için Microsoft'un PortQry yazılımını kullanabilirsiniz :

portqry -n 11.22.33.44 -p tcp -e 80

4
Güvenlik duvarı bağlantı noktaları genellikle "FİLTRE" olarak görünür.
dlanod

Bu aracı UDP bağlantı noktasını da kontrol etmek için kullanabilirsiniz:portqry -n 11.22.33.44 -p udp -e 19132
Antony

41

Bunu beğendim:

netstat -an | find "8080" 

telnet'ten

telnet 192.168.100.132 8080

Ve bu makinede güvenlik duvarının kapalı olduğundan emin olun.


Bu komutu kullandığımda yani netstat -an | "19345" bul, sonuç alamadım. bunun anlamı ne? -
nanosoft

2
bu limanın ücretsiz olduğu anlamına gelir
Sarvar Nishonboev

Çalıştırdığımda bir hata alıyorum netstat -an | find "8080"diyor,no such file named "8080"
Pragyaditya Das



12

Windows sunucusunda kullanılan ve dinlenen tüm bağlantı noktalarını görmek istiyorsanız bunu kullanın:

netstat -an |find /i "listening"

Tüm açık, dinleme, yerleşik bağlantı noktalarını görün:

netstat -a

7

Windows Server'da şunları kullanabilirsiniz:

netstat -an | where{$_.Contains("Yourport")}

Güvenlik duvarı sorununu hiçbir şekilde gidermez.
Lorne Marquis

5
Bu powershell üzerinde çalışıyor
Paco Zarate

Yoksa "Windows sunucusu" mu demek istediniz?
Peter Mortensen



1

İşte benim için işe yarayan:

  • Bir komut istemi açın
  • tip telnet
  • Microsoft Telnet> <ana bilgisayar adı veya IP adresi> <boşluk> <bağlantı noktası>

Bağlantı noktasının açılıp açılmadığını doğrular.


0

Bulduğum ve iyi ve küçük olan başka bir yardımcı program PortQry Komut Satırı Port Tarayıcı sürüm 2.0'dır .

Bir sunucuya ve bağlantı noktasına ping atabilirsiniz ve bu bağlantı noktası size bağlantı noktasının durumunu bildirir. Bir komut satırı yardımcı programı ve bunun için bir kullanıcı arayüzü vardır.

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.