Answers:
假设您要使用的是TCP(而不是UDP)端口:
在服务器本身上,用于netstat -an
检查查看哪些端口正在监听。
从外部,只需使用telnet host port
(或telnet host:port
在Unix系统上)查看连接是否被拒绝,接受或超时。
在随后的测试中,通常:
在Windows 7或Windows Vista上,默认选项'telnet'不被识别为内部或外部命令,可操作程序或批处理文件。要解决此问题,只需启用它:单击*开始**→ 控制面板 → 程序 → 打开或关闭Windows功能。在列表中,向下滚动并选择Telnet Client,然后单击OK。
Could not open connection to the host, on port *x*: Connect failed
指示?
telnet api-3t.sandbox.paypal.com 443
收到Connecting to api-3t.sandbox.paypal.com...Could not open connection to the host on port 443: Connect failed
这是因为防火墙阻止了它吗?
o host port
vs vs命令行(cmd.exe),然后键入telnet host port
在Windows上,您可以使用
netstat -na | find "your_port"
缩小结果范围。您还可以过滤LISTENING
,ESTABLISHED
,TCP
和这样的。请注意,它区分大小写。
find
对我而言,它在Windows 10中不起作用,但是netstat -na | findstr "8080"
起作用了
如果您是从外部进行检查,而不是从服务器本身进行检查,并且不想麻烦安装telnet(因为Windows的最新版本没有提供该服务)或任何其他软件,则您具有本机PowerShell:
Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed
(不幸的是,这仅适用于PowerShell 4.0或更高版本。要检查PowerShell版本,请键入$PSVersionTable
。)
PS:请注意,这些天在twittersphere上有一些声明,暗示可以通过提及PowerShell Core中的“ Test-Connection”或快捷方式“ tnc”来改善此答案。请参阅https://twitter.com/david_obrien/status/1214082339203993600,并帮助我编辑此答案以改善它!
(如果您的PSVersion <4.0,则很不走运。请检查此表:
即使您可以通过安装Windows Management Framework 4.0来升级PowerShell的版本,但它对我来说并没有奏效,但Test-NetConnection cmdlet仍然不可用。
我确实喜欢这样:
netstat -an | find "8080"
从telnet
telnet 192.168.100.132 8080
并且只需确保该计算机上的防火墙已关闭。
netstat -an | find "8080"
它时,我收到一个错误消息:no such file named "8080"
您是否需要执行此操作的工具?有一个网站http://www.canyouseeme.org/。否则,您需要其他服务器来回叫您以查看端口是否打开...
在Windows Server上,您可以使用
netstat -an | where{$_.Contains("Yourport")}
我发现的另一个实用程序也不错,它就是PortQry命令行端口扫描程序2.0版。
您可以ping服务器和端口,它将告诉您端口的状态。有一个命令行实用程序和一个UI。