Windows'ta komut satırını kullanarak uzak bir portun açık olup olmadığını nasıl kontrol edersiniz?


Yanıtlar:


62

Geçen gün Microsoft'un bağlantı noktalarını test etmek için tasarlanmış bir hiddem cevheri buldum:

PortQry.exe

"Portqry.exe, TCP / IP bağlantı sorunlarını gidermek için kullanabileceğiniz bir komut satırı yardımcı programıdır. Portqry.exe, Windows 2000 tabanlı bilgisayarlarda, Windows XP tabanlı bilgisayarlarda ve Windows Server 2003 tabanlı bilgisayarlarda çalışır. Yardımcı program, seçtiğiniz bir bilgisayardaki TCP ve UDP bağlantı noktalarının bağlantı durumunu bildirir. "


Not: Bunu Microsoft'tan indirmeye çalışmak, indirme işleminin "artık mevcut olmadığını" belirten bir sayfa döndürdü.
dgw

@dgw Bunun için teşekkürler .. google yeni bir versiyonunu gösterir, eğer “portray” ı ararsanız yarın kontrol edeceğim
Peter M


52

Windows'un hangi sürümü? Windows 8 / Server 2012 ve sonraki sürümlerinde, aşağıdakiler PowerShell'de çalışır:

Test-NetConnection 128.159.1.1 -Port 80

Bazı Google çalışanları, Windows'un kullanamayacağı düşük sürümlerini çalıştıran sistemler için doğrudan .NET Framework'ü kullanan (PowerShell bunu yapmanıza izin verdiğinden) kullanan alternatifler de ortaya Test-NetConnectionçıkarır.

Üçüncü taraf yardımcı programlarını kullanmaktan çekinmiyorsanız , Nmap da olması gereken çok iyi bir arkadaş ve komut satırından çalışıyor.


1
.Net yöntemi:$connection = (New-Object Net.Sockets.TcpClient).Connect($target,$port); If ($connection.Connected) { $connection.Close() }
xXhRQ8sD2L7Z


@ samsmith Cevabımdaki komuttan mı yoksa ST8Z ... 'nin yorumundan mı bahsediyorsun? Cevabım biri sadece Win8 / 2K12 ve üzeri için çalışır ve cevap kadar diyor.
Iszi

1
Windows 8.1 gibi görünüyor
Andy Krouwel

1
Windows 10'da harika çalışıyor ve herhangi bir program yüklememe veya herhangi bir özellik eklememe gerek yok. Teşekkürler! :)
Steve Bauman

24

Belirtilen bağlantı noktasındaki sunucuya bağlanmak için telnet komutunu kullanın ve bir bağlantının kurulup kurulamayacağına bakın.

Başarı:

$ telnet my_server 25
220 my_server ESMTP Postfix

Başarısız:

$ telnet my_server 23632
Connecting To my_server...Could not open connection to the host, on port 23632:
Connect failed

14
UDP için çalışmıyor.
Adriano Varoli Piazza

8
UDP bağlantısız ..
Amalgovinus

7

Telnet, TCP için çalışacaktır.

Netcat, UDP de dahil olmak üzere bu tür şeyler için daha iyi bir araçtır, ancak bazı AV yazılımları bir 'kötü hacker aracı' olarak kabul eder


1

Aşağıdaki komut makinede kullanılan tüm portları listeleyecektir ...

netstat -a

Çıktı protokolü, yerel adresi, yabancı adresi ve mevcut durumu içerir

Microsoft.com'da Netstat belgeleri


8
Soru , yerel değil, uzak bir makinedeki açık bağlantı noktaları hakkında sorular sorar .
Chris S

0

Netcat Windows portunu kullanın :

>nc -zvv www.google.com 80
www.google.com [108.177.96.103] 80 (http) open
sent 0, rcvd 0
>

>nc -zvv www.google.com 888
www.google.com [108.177.96.147] 888 (?): TIMEDOUT
sent 0, rcvd 0: NOTSOCK
>

-4

'netstat' arkadaşım.


3
Yerel makine evet, uzak makine hayır.

3
Bu cevap, uzak makinedeki bir bağlantı noktasıyla ilgili olduğunu belirten düzenlemeden önce gönderildi.
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.