在 Windows 中,使用命令行,如何检查远程端口是否打开?

在 Windows 中,使用命令行,如何检查远程端口是否打开?

在 Windows 中,测试流量是否到达远程计算机上的特定端口的简单方法是什么?

答案1

前几天,我发现了微软为测试端口而设计的隐藏宝石:

端口查询工具

“Portqry.exe 是一个命令行实用程序,可用于帮助解决 TCP/IP 连接问题。Portqry.exe 可在基于 Windows 2000 的计算机、基于 Windows XP 的计算机和基于 Windows Server 2003 的计算机上运行。该实用程序报告您选择的计算机上 TCP 和 UDP 端口的端口状态。”

答案2

哪个版本的 Windows?对于 Windows 8/Server 2012 及更高版本,以下操作在 PowerShell 中有效:

Test-NetConnection 128.159.1.1 -Port 80

对于运行较低版本 Windows 的系统,通过 Google 搜索还会找到直接使用 .NET Framework 的替代方案(因为 PowerShell 允许您这样做)Test-NetConnection

如果你不反对使用第三方实用程序,网络地图也是一位非常好的朋友,它可以通过命令行工作。

答案3

使用telnet命令连接指定端口的服务器,看是否可以建立连接。

成功:

$ telnet my_server 25
220 my_server ESMTP Postfix

失败:

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

答案4

使用netcat Windows 端口

>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
>

相关内容