在不能安装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命令的情况下如何判断远程端口启用?的主要内容,如果未能解决你的问题,请参考以下文章

如何利用telnet命令检测端口映射是不是成功

是用telnet ip 端口号的方式查看端口开放情况,怎样通过返回值判断?

telnet命令怎么用,需要啥端口?

什么情况下可以用TELNET命令连接到远程电脑上?

如何检测远程主机上的某个端口是否开启

如何使用telnet测试端口号