2008-11-07 123 views
394

我想在服务器上的备用端口下安装一个网站,但该端口可以被防火墙关闭。有没有办法在特定的端口上进行ping操作或查看它是否打开?如何确定端口是否在Windows服务器上打开?

+0

另请参见http://serverfault.com/questions/309357/ping-a-specific-port – Vadzim 2015-09-07 11:00:49

+0

也检查此 - http://stackoverflow.com/questions/41522605/how-to-check-if-port远程服务器随批处理文件和不带Thir – npocmaka 2017-01-25 20:10:10

回答

602

假设它是一个TCP(而不是UDP)端口,您正在尝试使用:

  1. 在服务器本身,使用netstat -an进行检查,看哪些端口监听

  2. 从外面,只是telnet host port(或在Unix系统telnet host:port),看是否连接被拒绝,接受或超时

在那后面的测试,然后在一般:

  • 拒绝连接意味着没有什么是该端口
  • 接受上运行意味着什么是该端口
  • 超时上运行意味着防火墙阻止访问

Win7上或Vista默认选项'telnet'不被识别为内部或外部命令,可操作程序或批处理文件。要解决这个问题,只需启用它:单击开始,控制面板,程序,然后打开或关闭Windows功能。在列表中,向下滚动并选择Telnet客户端,然后单击确定

+282

在Win7或Vista中,默认选项'telnet'不被识别为内部或外部命令,可操作程序或批处理文件。要解决这个问题,只需启用它:单击开始,控制面板,程序,然后打开或关闭Windows功能。在列表中,向下滚动并选择Telnet客户端,然后单击确定 – volody 2010-11-03 01:41:39

+0

@volody任何建议,如何做到这一点W/O管理员权限? – 2014-04-24 07:44:02

+11

@PankajKohli改为使用[PuTTy](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)telnet客户端。它不需要安装。 – 2014-05-12 14:28:04

10

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

24

如果Telnet不可用,下载PuTTY。它是一个非常优秀的telnet,ssh等客户端,在许多情况下都会有用,而不仅仅是这一点,尤其是在管理服务器时。

143

只是想补充一点,在Windows中可以使用

netstat -na | find "your_port" 

缩小的结果。您还可以过滤LISTENINGESTABLISHEDTCP和这样的。不过,请注意区分大小写。

5

在Windows Server,你可以使用

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

1

这里是我工作,

  • 打开命令提示符
  • 输入telnet
  • 微软的Telnet>打开

这将确认端口是否打开。

34

我不喜欢的是:

netstat -an | find "8080" 

从远程登录

telnet 192.168.100.132 8080 

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

34

在Windows机器上,你可以使用来自微软PortQry检查应用是否已经是一个特定端口上使用以下命令听:

portqry -n 11.22.33.44 -p tcp -e 80 
9

使用这个,如果你想看到所有的使用和听力Windows服务器上的端口:

netstat -an |find /i "listening" 

查看所有打开的,听,建立港口:

netstat -a 
2

从Sysinternals psping也很好

2

另一种选择是tcping

例如:

tcping host port

36

如果你从外面检查,而不是从服务器本身,你不想打扰安装Telnet(因为它不来的的Windows版本的最后一次)或任何其他软件,那么你有本地的PowerShell:

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

(不幸的是这仅使用PowerShell 4.0或更高版本的作品要检查你的PS版,型$PSVersionTable


(如果您的PSVersion为< 4.0,那么您的运气不好。检查此表:

enter image description here

即使你可以通过安装Windows Management Framework 4.0升级的PowerShell的版本,它并没有为我做的伎俩,试验的NetConnection cmdlet的仍然是不可用)。

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

上面的PowerShell的例子只是上面的Windows 7的Windows版本有效的cmdlet的是与Windows 7不兼容。

相关问题