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

Mat*_*att 120 networking windows tcpip

在 Windows 中测试流量是否通过远程机器上的特定端口的简单方法是什么?

Isz*_*szi 97

哪个版本的Windows?对于 Windows 8/Server 2012 及更高版本,以下内容适用于 PowerShell:

Test-NetConnection 128.159.1.1 -Port 80
Run Code Online (Sandbox Code Playgroud)

一些谷歌搜索还会为运行低版本 Windows 的系统提供直接使用 .NET Framework 的替代方案(因为 PowerShell 允许您这样做)Test-NetConnection

如果您不反对使用第三方实用程序,Nmap也是一个非常好的朋友,它可以从命令行运行。

  • .Net 方法:`$connection = (New-Object Net.Sockets.TcpClient).Connect($target,$port); 如果 ($connection.Connected) { $connection.Close() }` (2认同)
  • 在 Windows 10 上运行良好,我不需要安装任何程序或添加任何功能。谢谢!:) (2认同)

Pet*_*r M 76

前几天我从 Microsoft 找到了一个用于测试端口的 hiddem gem:

Portqry.exe

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

  • 控制台版本 http://www.microsoft.com/downloads/details.aspx?familyid=89811747-c74b-4638-a2d5-ac828bdc6983&displaylang=en 和 ui 版本:http://download.microsoft.com/download/3/f /4/3f4c6a54-65f0-4164-bdec-a3411ba24d3a/portqryui.exe 参考:https://support.microsoft.com/en-us/help/310099/description-of-the-portqry-exe-command-line-公用事业 (2认同)

Jør*_*ode 25

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

成功:

$ telnet my_server 25
220 my_server ESMTP Postfix
Run Code Online (Sandbox Code Playgroud)

失败:

$ telnet my_server 23632
Connecting To my_server...Could not open connection to the host, on port 23632:
Connect failed
Run Code Online (Sandbox Code Playgroud)

  • 不适用于 UDP。 (17认同)
  • UDP是无连接的.. (9认同)

小智 7

Telnet 将适用于 TCP。

Netcat 是处理这些事情的更好工具,包括 UDP,但请注意,一些 AV 软件认为它是“邪恶的黑客工具”