Trong Windows, sử dụng dòng lệnh, làm thế nào để kiểm tra xem một cổng từ xa có mở không?


Câu trả lời:


62

Tôi đã tìm thấy một viên đá quý hiddem vào một ngày khác từ Microsoft được thiết kế để thử nghiệm các cổng:

Portqry.exe

"Portqry.exe là một tiện ích dòng lệnh mà bạn có thể sử dụng để giúp khắc phục sự cố kết nối TCP / IP. Portqry.exe chạy trên máy tính chạy Windows 2000, trên máy tính chạy Windows XP và trên máy tính chạy Windows Server 2003. Tiện ích báo cáo trạng thái cổng của cổng TCP và UDP trên máy tính mà bạn chọn. "


Lưu ý: Việc cố tải xuống từ Microsoft đã trả về một trang cho biết việc tải xuống là "không còn khả dụng".
dgw

@dgw Cảm ơn vì điều đó .. google hiển thị một phiên bản mới nếu bạn tìm kiếm 'chân dung "mà tôi sẽ kiểm tra vào ngày mai
Peter M


52

Phiên bản nào của Windows? Đối với Windows 8 / Server 2012 trở lên, các hoạt động sau trong PowerShell:

Test-NetConnection 128.159.1.1 -Port 80

Một số Googling cũng sẽ bật lên các lựa chọn thay thế sử dụng .NET Framework trực tiếp (vì PowerShell cho phép bạn làm điều đó) cho các hệ thống chạy các phiên bản Windows thấp hơn không có Test-NetConnectionsẵn.

Nếu bạn không phản đối việc sử dụng các tiện ích của bên thứ ba, Nmap cũng là một người bạn rất tốt để có và nó hoạt động từ dòng lệnh.


1
Phương thức .Net:$connection = (New-Object Net.Sockets.TcpClient).Connect($target,$port); If ($connection.Connected) { $connection.Close() }
xXhRQ8sD2L7Z

Trên Win7, điều đó không hoạt động :-(
samsmith

@samsmith Bạn đang nói về lệnh trong câu trả lời của tôi, hoặc nhận xét của ST8Z ...? Câu trả lời của tôi chỉ hoạt động cho Win8 / 2k12 trở lên và câu trả lời nói càng nhiều.
Iszi

1
Có vẻ là Windows 8.1 - Dường như không thể tìm thấy nó trên Windows 8
Andy Krouwel 7/12/2015

1
Hoạt động tốt trên Windows 10 và tôi không cần cài đặt bất kỳ chương trình nào hoặc thêm bất kỳ tính năng nào. Cảm ơn! :)
Steve Bauman

24

Sử dụng lệnh telnet để kết nối với máy chủ trên cổng được chỉ định và xem có thể thiết lập kết nối không.

Sự thành công:

$ telnet my_server 25
220 my_server ESMTP Postfix

Thất bại:

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

14
không hoạt động cho UDP.
Quảng trường Adriano Varoli

8
UDP không có kết nối ..
Amalgovinus

7

Telnet sẽ hoạt động cho TCP.

Netcat là một công cụ tốt hơn cho những thứ này, bao gồm cả UDP, mặc dù vậy, một số phần mềm AV coi đó là một 'công cụ hacker xấu xa'


1

lệnh sau sẽ liệt kê tất cả các cổng được sử dụng trên máy ...

netstat -a

Đầu ra chứa giao thức, địa chỉ cục bộ, địa chỉ nước ngoài và trạng thái hiện tại

Tài liệu Netstat trên microsoft.com


8
Câu hỏi hỏi về các cổng mở trên một máy từ xa , không phải cục bộ.
Chris S

0

Sử dụng cổng Windows netcat :

>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' là bạn của bạn.


3
Máy cục bộ có, máy từ xa không.

3
Câu trả lời này đã được đăng trước khi chỉnh sửa chỉ định rằng đó là về một cổng trên máy từ xa.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.