如何确定如果一个端口是开放的Windows服务器上?
-
07-07-2019 - |
题
我试图安装一个网站根据替代口的服务器上,但该口可以关闭,通过一个防火墙。有没有办法平或在,在一个特定的港口,看看它是否开着吗?
解决方案
假设这是一个TCP(而不是UDP)口,你在试图使用:
在服务器本身、使用
netstat -an
到检查,看看它的港口正在听从外,只是
telnet host port
(或telnet host:port
Unix系统上)来看,如果连接是拒绝接受,或超时
在后一种试验,然后在一般情况:
- 拒接 意味着没有什么是上运行,港口
- 接受 意味着什么是上运行,港口
- 超时 意味着防火墙阻止访问
在windows7资或Vista默认选择'的远程登录',是不被承认为一个内部或外部的命令,可操作的程序或批文件。为了解决这个问题,只是使其能够:点击开始,控制面板,程序,然后转用Windows功能或关闭。在该列表,向下滚动并选择的远程登录的客户和单击"确定"
其他提示
只想在Windows上添加,您可以使用
netstat -na | find "your_port"
缩小结果范围。您还可以过滤LISTENING
,ESTABLISHED
,TCP
等。记住它虽然区分大小写。
如果您是从外部检查,而不是从服务器本身检查,并且您不想打扰安装telnet(因为它不是最新版本的Windows)或任何其他软件,那么您有原生PowerShell:
Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed
(不幸的是,这仅适用于PowerShell 4.0或更高版本。要检查PS版本,请键入$PSVersionTable
。)
(如果你有PSVersion <!> lt; 4.0,那你就不走运了。查看下表:
即使您可以通过安装 Windows Management Framework 4.0来升级您的powershell版本,它没有为我做这个技巧, Test-NetConnection cmdlet仍然不可用。)
在Windows计算机上,您可以使用 PortQry 从Microsoft使用以下命令检查应用程序是否已在侦听特定端口:
portqry -n 11.22.33.44 -p tcp -e 80
我确实喜欢这样:
netstat -an | find "8080"
来自telnet
telnet 192.168.100.132 8080
并确保该计算机上的防火墙已关闭。
如果没有telnet,请下载 PuTTY 。它是一个远远优越的telnet,ssh等客户端,在许多情况下都很有用,而不仅仅是这个,特别是如果你正在管理服务器。
你想要一个工具吗? http://www.canyouseeme.org/ 上有一个网站。否则,您需要一些其他服务器来回叫以查看端口是否已打开...
如果要查看Windows服务器上的所有已使用和侦听端口,请使用此选项:
netstat -an |find /i "listening"
查看所有开放,收听,建立的端口:
netstat -a
在Windows服务器上,您可以使用
netstat -an | where{$_.Contains("Yourport")}
我认为我得到的最好的是你可以检查你自己的端口以及其他域的端口。
这里是什么工作对我来说,
- 开放的命令-提示
- 类型telnet
- Microsoft Telnet>开放
它将确认是否端口是开放的。
我找到的其他实用工具也很好,也很小, PortQry命令行端口扫描程序2.0版 https://www.microsoft.com/en-us/download /details.aspx?id=17148
你可以ping一个服务器和一个端口,它会告诉你端口的状态,有一个命令行工具和一个用户界面。