我如何确定Windows服务器上的一个端口是否开放?

我想在服务器的一个替代端口下安装一个网站,但该端口可能被防火墙关闭。是否有办法在一个特定的端口上ping出或ping入,看看它是否开放?

对该问题的评论 (1)
解决办法

假设你试图使用的是一个TCP(而不是UDP)端口。

1.在服务器上,使用netstat -an来检查哪些端口正在监听。

2.2. 在外部,只需使用telnet host port(或Unix系统上的telnet host:port)来查看连接是否被拒绝、接受或超时。

在这后一个测试中,那么一般来说。

  • 拒绝连接_意味着该端口上没有任何东西在运行
  • _accepted_表示有东西在该端口上运行
  • 超时_意味着防火墙阻止了访问。

在Windows 7或Windows Vista中,默认选项'telnet'不被认为是内部或外部命令、可操作程序或批处理文件。要解决这个问题,只需启用它。点击*开始控制面板*程序打开或关闭Windows功能。在列表中,向下滚动并选择Telnet Client*,然后点击OK。

评论(7)

在Windows上,你可以使用

netstat -na | find "your_port"

来缩小结果范围。 你也可以过滤LISTENINGESTABLISHEDTCP等等。 不过要注意它'是区分大小写的。

评论(8)

如果你从外部检查,而不是从服务器本身检查,而且你不想麻烦地安装telnet(因为它不随同最新版本的Windows一起安装)或任何其他软件,那么你就有了本地PowerShell。

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

(不幸的是,这只适用于PowerShell 4.0或更新的版本,要检查你的PS版本,键入$PSVersionTable)。 要检查你的PS版本,请键入$PSVersionTable)。


(如果你有一个PSVersion < 4.0,你'就不走运了。 检查这个表格。

尽管你可以通过安装[Windows管理框架4.0][2]来升级你的powershell版本,但对我来说,它并没有起到作用,Test-NetConnectioncmdlet仍然不可用)。)

1:

[2]: https://www.microsoft.com/en-us/download/details.aspx?id=40855

评论(2)

在Windows机器上,您可以使用微软的[PortQry][1]来检查应用程序是否已经在特定的端口上监听,使用的命令如下:

portqry -n 11.22.33.44 -p tcp -e 80

portqry -n 11.22.33.44 -p tcp -e 80

[1]: http://www.microsoft.com/en-us/download/details.aspx?id=17148

评论(2)

我确实喜欢这样。

netstat -an | find "8080" 

从远程登录

telnet 192.168.100.132 8080

而且只要确保那台机器的防火墙是关闭的。

评论(3)

如果telnet不可用,请下载PuTTY。它是一个优越得多的Telnet、SSH等客户端,在很多情况下都很有用,不仅仅是这个,特别是当你在管理一个服务器时。

评论(1)

你想要一个做这个的工具吗? 在http://www.canyouseeme.org/有一个网站。 否则,你需要一些其他的服务器给你回电,看看是否有端口开放...

评论(0)

如果您想查看Windows服务器上所有已使用和监听的端口,请使用此选项。

netstat -an |find /i "listening"

查看所有开放、监听、建立的端口。

netstat -a
评论(0)

在Windows服务器上,您可以使用

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

Sysinternals的[PsPing][1]也很不错。

[1]: https://docs.microsoft.com/en-us/sysinternals/downloads/psping

评论(1)

另一个选项是[tcping][1]。

例如

tcping主机端口

[1]: http://www.elifulkerson.com/projects/tcping.php

评论(0)

下面是我的工作原理。

  • 打开一个命令提示符
  • 类型telnet
  • Microsoft Telnet>打开<主机名或IP地址><空格><端口&gt。

它将确认端口是否被打开。

评论(0)

其他的实用工具,我找到了,也很好,也很小巧。 PortQry命令行端口扫描器2.0版。 https://www.microsoft.com/en-us/download/details.aspx?id=17148

你可以ping一个服务器和一个端口,它会告诉你端口的状态,有一个命令行工具和一个用户界面。

评论(1)