我想在服务器上的备用端口下安装一个网站,但该端口可以被防火墙关闭。有没有办法在特定的端口上进行ping操作或查看它是否打开?如何确定端口是否在Windows服务器上打开?
回答
假设它是一个TCP(而不是UDP)端口,您正在尝试使用:
在服务器本身,使用
netstat -an
进行检查,看哪些端口监听从外面,只是
telnet host port
(或在Unix系统telnet host:port
),看是否连接被拒绝,接受或超时
在那后面的测试,然后在一般:
- 拒绝连接意味着没有什么是该端口
- 接受上运行意味着什么是该端口
- 超时上运行意味着防火墙阻止访问
Win7上或Vista默认选项'telnet'不被识别为内部或外部命令,可操作程序或批处理文件。要解决这个问题,只需启用它:单击开始,控制面板,程序,然后打开或关闭Windows功能。在列表中,向下滚动并选择Telnet客户端,然后单击确定
在Win7或Vista中,默认选项'telnet'不被识别为内部或外部命令,可操作程序或批处理文件。要解决这个问题,只需启用它:单击开始,控制面板,程序,然后打开或关闭Windows功能。在列表中,向下滚动并选择Telnet客户端,然后单击确定 – volody 2010-11-03 01:41:39
@volody任何建议,如何做到这一点W/O管理员权限? – 2014-04-24 07:44:02
@PankajKohli改为使用[PuTTy](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)telnet客户端。它不需要安装。 – 2014-05-12 14:28:04
你想要做的工具吗?有一个网站http://www.canyouseeme.org/。否则,你需要一些其他的服务器给你打电话回看到,如果一个端口是开放的......
如果Telnet不可用,下载PuTTY。它是一个非常优秀的telnet,ssh等客户端,在许多情况下都会有用,而不仅仅是这一点,尤其是在管理服务器时。
只是想补充一点,在Windows中可以使用
netstat -na | find "your_port"
缩小的结果。您还可以过滤LISTENING
,ESTABLISHED
,TCP
和这样的。不过,请注意区分大小写。
在Windows Server,你可以使用
netstat -an | where{$_.Contains("Yourport")}
这里是我工作,
- 打开命令提示符
- 输入telnet
- 微软的Telnet>打开
这将确认端口是否打开。
我不喜欢的是:
netstat -an | find "8080"
从远程登录
telnet 192.168.100.132 8080
而只是确保防火墙是关闭的那台机器上。
在Windows机器上,你可以使用来自微软PortQry检查应用是否已经是一个特定端口上使用以下命令听:
portqry -n 11.22.33.44 -p tcp -e 80
使用这个,如果你想看到所有的使用和听力Windows服务器上的端口:
netstat -an |find /i "listening"
查看所有打开的,听,建立港口:
netstat -a
从Sysinternals psping也很好
我认为我得到的最好的是你可以检查自己的端口以及其他域的端口。
如果你从外面检查,而不是从服务器本身,你不想打扰安装Telnet(因为它不来的的Windows版本的最后一次)或任何其他软件,那么你有本地的PowerShell:
Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed
(不幸的是这仅使用PowerShell 4.0或更高版本的作品要检查你的PS版,型$PSVersionTable
)
(如果您的PSVersion为< 4.0,那么您的运气不好。检查此表:
即使你可以通过安装Windows Management Framework 4.0升级的PowerShell的版本,它并没有为我做的伎俩,试验的NetConnection cmdlet的仍然是不可用)。
其他工具,我发现是好的,少为好, PortQry将命令行端口扫描器2.0版 https://www.microsoft.com/en-us/download/details.aspx?id=17148
可以ping服务器和端口,它会告诉你该端口的状态,有一个命令行工具和一个UI。
Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed
上面的PowerShell的例子只是上面的Windows 7的Windows版本有效的cmdlet的是与Windows 7不兼容。
- 1. 确定服务器是否在给定端口上侦听
- 2. 如何在linux ubuntu服务器上打开特定端口
- 3. 确定定位服务是否打开
- 4. 看看服务器端口是否使用JavaScript打开
- 5. 如何确定在端口80上监听什么服务器
- 6. 如何打开服务器上的端口
- 7. 检查HTTP端口是否在Windows上打开
- 8. 如何检查两台Linux服务器之间的端口是否打开?
- 9. 如何获取由Windows服务打开的端口?
- 10. Node.js:如何在服务器端打开图像窗口?
- 11. 确定服务器是否为打印服务器
- 12. 在Ubuntu服务器上为Pocketmine打开的端口
- 13. 在同一个端口上打开多个服务器
- 14. 确定窗口是否由window.showModalDialog打开?
- 15. 如何确定asp.net核心是否已安装在Windows服务器上
- 16. Java:如何确认端口是否打开?
- 17. 确定代理服务器/端口
- 18. 如何确定服务器上是否存在Internet文件?
- 19. 如何确定接口是否为Windows PC上的物理LAN端口?
- 20. 检查服务器套接字是否在另一端打开
- 21. 在Windows服务器的端口上绑定多个证书
- 22. 如何使ASP.NET开发服务器在端口80上运行?
- 23. 如何在我的amazon ec2服务器上打开端口2195和443?
- 24. 如何确定Windows中是否打开特定文件?
- 25. 如何确定是否打开给定名称的窗口
- 26. 在.NET中如何检测服务器上的TCP端口是否已打开和/或处于活动状态?
- 27. 如何在Windows中的特定显示器上打开窗口?
- 28. 如何确定类库是否在Windows服务中运行?
- 29. 如何确定是否在Windows服务中启动?
- 30. 如何在Mac上打开端口80?
另请参见http://serverfault.com/questions/309357/ping-a-specific-port – Vadzim 2015-09-07 11:00:49
也检查此 - http://stackoverflow.com/questions/41522605/how-to-check-if-port远程服务器随批处理文件和不带Thir – npocmaka 2017-01-25 20:10:10