在不能安装Telnet命令的情况下如何判断远程端口启用?
Posted 大象无形,大音希声
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在不能安装Telnet命令的情况下如何判断远程端口启用?相关的知识,希望对你有一定的参考价值。
有的时候我们的Windows服务器没有权限安装Telnet Feature或者此功能被管理员禁用,这个时候我们有没有什么更为简便的方法去测试远程端口是否开启呢? 答案就是PowerShell命令。 下面是具体的操作步骤。
(1)假设我们已经搭建了一个Web服务器
python -m SimpleHTTPServer 9999
或者
python -m http.server 9999
(2)使用PowerShell的命令:Test-NetConnection 命令进行尝试
PS C:\\Users\\ Test-NetConnection -ComputerName 127.0.0.1 -Port 9999
ComputerName : 127.0.0.1
RemoteAddress : 127.0.0.1
RemotePort : 9999
InterfaceAlias : Loopback Pseudo-Interface 1
SourceAddress : 127.0.0.1
TcpTestSucceeded : True
TcpTestSucceeded : True 表示连接成功。如果换一个没有开放的端口,比如
9998,则会显示Failed 并且TcpTestSucceeded : False
Test-NetConnection -ComputerName 127.0.0.1 -Port 9998
警告: TCP connect to (127.0.0.1 : 9998) failed
ComputerName : 127.0.0.1
RemoteAddress : 127.0.0.1
RemotePort : 9998
InterfaceAlias : Loopback Pseudo-Interface 1
SourceAddress : 127.0.0.1
PingSucceeded : True
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded : False
(3)或者使用PowerShell的命令:TcpClient 命令进行尝试
New-Object System.Net.Sockets.TcpClient("127.0.0.1",9999)
Client : System.Net.Sockets.Socket
Available : 0
Connected : True
ExclusiveAddressUse : False
ReceiveBufferSize : 65536
SendBufferSize : 65536
ReceiveTimeout : 0
SendTimeout : 0
LingerState : System.Net.Sockets.LingerOption
NoDelay : False
Connected : True 代表连接上
如果换一个不存在的端口,其则立刻报出异常~
New-Object System.Net.Sockets.TcpClient("127.0.0.1",9998)
New-Object : 使用“2”个参数调用“.ctor”时发生异常:“由于目标计算机积极拒绝,无法连接。 127.0.0.1:9998”
所在位置 行:1 字符: 1
+ New-Object System.Net.Sockets.TcpClient("127.0.0.1",9998)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [New-Object],MethodInvocationException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand
以上是关于在不能安装Telnet命令的情况下如何判断远程端口启用?的主要内容,如果未能解决你的问题,请参考以下文章