我想在服务器的一个替代端口下安装一个网站,但该端口可能被防火墙关闭。是否有办法在一个特定的端口上ping出或ping入,看看它是否开放?
假设你试图使用的是一个TCP(而不是UDP)端口。
1.在服务器上,使用netstat -an来检查哪些端口正在监听。
netstat -an
2.2. 在外部,只需使用telnet host port(或Unix系统上的telnet host:port)来查看连接是否被拒绝、接受或超时。
telnet host port
telnet host:port
在这后一个测试中,那么一般来说。
在Windows 7或Windows Vista中,默认选项'telnet'不被认为是内部或外部命令、可操作程序或批处理文件。要解决这个问题,只需启用它。点击*开始 → 控制面板* → 程序 → 打开或关闭Windows功能。在列表中,向下滚动并选择Telnet Client*,然后点击OK。
在Windows上,你可以使用
netstat -na | find "your_port"
来缩小结果范围。 你也可以过滤LISTENING、ESTABLISHED、TCP等等。 不过要注意它'是区分大小写的。
LISTENING
ESTABLISHED
TCP
如果你从外部检查,而不是从服务器本身检查,而且你不想麻烦地安装telnet(因为它不随同最新版本的Windows一起安装)或任何其他软件,那么你就有了本地PowerShell。
Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed
(不幸的是,这只适用于PowerShell 4.0或更新的版本,要检查你的PS版本,键入$PSVersionTable)。 要检查你的PS版本,请键入$PSVersionTable)。
$PSVersionTable
(如果你有一个PSVersion < 4.0,你'就不走运了。 检查这个表格。
尽管你可以通过安装[Windows管理框架4.0][2]来升级你的powershell版本,但对我来说,它并没有起到作用,Test-NetConnectioncmdlet仍然不可用)。)
1:
[2]: https://www.microsoft.com/en-us/download/details.aspx?id=40855
在Windows机器上,您可以使用微软的[PortQry][1]来检查应用程序是否已经在特定的端口上监听,使用的命令如下:
portqry -n 11.22.33.44 -p tcp -e 80
。
[1]: http://www.microsoft.com/en-us/download/details.aspx?id=17148
我确实喜欢这样。
netstat -an | find "8080"
从远程登录
telnet 192.168.100.132 8080
而且只要确保那台机器的防火墙是关闭的。
如果telnet不可用,请下载PuTTY。它是一个优越得多的Telnet、SSH等客户端,在很多情况下都很有用,不仅仅是这个,特别是当你在管理一个服务器时。
telnet
你想要一个做这个的工具吗? 在http://www.canyouseeme.org/有一个网站。 否则,你需要一些其他的服务器给你回电,看看是否有端口开放...
如果您想查看Windows服务器上所有已使用和监听的端口,请使用此选项。
netstat -an |find /i "listening"
查看所有开放、监听、建立的端口。
netstat -a
在Windows服务器上,您可以使用
netstat -an | where{$_.Contains("Yourport")}
Sysinternals的[PsPing][1]也很不错。
[1]: https://docs.microsoft.com/en-us/sysinternals/downloads/psping
另一个选项是[tcping][1]。
例如
tcping主机端口。
tcping主机端口
[1]: http://www.elifulkerson.com/projects/tcping.php
下面是我的工作原理。
它将确认端口是否被打开。
其他的实用工具,我找到了,也很好,也很小巧。 PortQry命令行端口扫描器2.0版。 https://www.microsoft.com/en-us/download/details.aspx?id=17148
你可以ping一个服务器和一个端口,它会告诉你端口的状态,有一个命令行工具和一个用户界面。
假设你试图使用的是一个TCP(而不是UDP)端口。
1.在服务器上,使用
netstat -an
来检查哪些端口正在监听。2.2. 在外部,只需使用
telnet host port
(或Unix系统上的telnet host:port
)来查看连接是否被拒绝、接受或超时。在这后一个测试中,那么一般来说。
在Windows 7或Windows Vista中,默认选项'telnet'不被认为是内部或外部命令、可操作程序或批处理文件。要解决这个问题,只需启用它。点击*开始 → 控制面板* → 程序 → 打开或关闭Windows功能。在列表中,向下滚动并选择Telnet Client*,然后点击OK。
在Windows上,你可以使用
来缩小结果范围。 你也可以过滤
LISTENING
、ESTABLISHED
、TCP
等等。 不过要注意它'是区分大小写的。如果你从外部检查,而不是从服务器本身检查,而且你不想麻烦地安装telnet(因为它不随同最新版本的Windows一起安装)或任何其他软件,那么你就有了本地PowerShell。
(不幸的是,这只适用于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
在Windows机器上,您可以使用微软的[PortQry][1]来检查应用程序是否已经在特定的端口上监听,使用的命令如下:
。
[1]: http://www.microsoft.com/en-us/download/details.aspx?id=17148
我确实喜欢这样。
从远程登录
而且只要确保那台机器的防火墙是关闭的。
如果
telnet
不可用,请下载PuTTY。它是一个优越得多的Telnet、SSH等客户端,在很多情况下都很有用,不仅仅是这个,特别是当你在管理一个服务器时。你想要一个做这个的工具吗? 在http://www.canyouseeme.org/有一个网站。 否则,你需要一些其他的服务器给你回电,看看是否有端口开放...
如果您想查看Windows服务器上所有已使用和监听的端口,请使用此选项。
查看所有开放、监听、建立的端口。
在Windows服务器上,您可以使用
Sysinternals的[PsPing][1]也很不错。
[1]: https://docs.microsoft.com/en-us/sysinternals/downloads/psping
另一个选项是[tcping][1]。
例如
tcping主机端口
。[1]: http://www.elifulkerson.com/projects/tcping.php
下面是我的工作原理。
telnet
它将确认端口是否被打开。
其他的实用工具,我找到了,也很好,也很小巧。 PortQry命令行端口扫描器2.0版。 https://www.microsoft.com/en-us/download/details.aspx?id=17148
你可以ping一个服务器和一个端口,它会告诉你端口的状态,有一个命令行工具和一个用户界面。