维护系统时一直能够正常连接的服务器有一天突然无法连接或者部署新系统时需要确认和对方系统的网络连通性等,介绍在Windows和Linux进行网络连通性确认的方法。

Windows

在Windows上启动PowerShell,使用Test-NetConnection命令(也可使用缩写的tnc命令),可指定对象服务器的端口进行网络连通性确认。

指定端口确认连通性

确认连通性的对象服务器IP地址为59.110.54.87,端口为22时,在PowerShell上执行以下命令。

Test-NetConnection 59.110.54.87 -Port 22

端口是否处于监听状态,确认执行结果的TcpTestSucceeded的值。当显示为True时表示该处于监听状态,而显示False时表示该端口处于关闭状态。

端口处于监听状态时显示结果如下。

ComputerName     : sys-blog.net
RemoteAddress    : 59.110.54.78
RemotePort       : 22
InterfaceAlias   : Ethernet 6
SourceAddress    : 10.220.253.160
TcpTestSucceeded : True

端口处于关闭状态时显示结果如下。

ComputerName     : sys-blog.net
RemoteAddress    : 59.110.54.78
RemotePort       : 22
InterfaceAlias   : Ethernet 6
SourceAddress    : 10.220.253.160
TcpTestSucceeded : False

仅返回True或False

执行Test-NetConnection命令时加上-InformationLevel Quiet选项。

Test-NetConnection 59.110.54.87 -Port 443 -InformationLevel Quiet

执行结果仅返回True或False。

确认SMB/HTTP/RDP/WINRM端口

确认SMB(445)/HTTP(80)/RDP(3389)/WINRM(5985)端口是否处于监听状态时,可执行以下命令。

Test-NetConnection sys-blog.net -CommonTCPPort SMB
Test-NetConnection sys-blog.net -CommonTCPPort HTTP
Test-NetConnection sys-blog.net -CommonTCPPort RDP
Test-NetConnection sys-blog.net -CommonTCPPort WINRM

Linux

在Linux服务器上确认对象服务器端口时,使用ncat或者nc命令(nc命令是ncat命令的链接)可指定端口进行连通性确认。

指定端口确认联通性

确认连通性的对象服务器IP地址为39.156.66.10,端口为443时,执行以下命令。

nc -v 39.156.66.10 443

端口是否处于监听状态,确认执行结果的最后一行的Ncat的值。当显示为Connected to IP地址:端口时表示该处于监听状态,而显示Ncat: Connection refused.时表示该端口处于关闭状态。

端口处于监听状态时显示结果如下。

Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 39.156.66.10:443.

端口处于关闭状态时显示结果如下。

Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connection refused.

执行ncat(nc)命令后,命令行不会返回,需输入「ctrl+c」终止。

选项 解释
-v 显示详细的信息
-vv 显示更加详细的信息
-u 指定UPD。如果没有指定-u既TCP连接

监听端口进程后,进行连通性确认

我们在服务器端还没有安装Apache或者MySQL数据,但是需要确认网络联通性的时候,也可使用nc命令在服务器端创建监听端口,然后在客户端进行连通性确认。

■服务器端(59.110.54.78)

执行以下命令,让服务器端在8888端口(TCP)处于监听(Listen)状态。如果需要指定为UDP的话,使用-u选项。

nc -kl 8888

执行ncat(nc)命令后,不会自动返回Prompt,需要返回的话需输入「ctrl+c」进行终止。

选项 解释
-k 可以和多个客户端创建连接,进行TCP连接时必须指定。UDP连接时无需指定。
-l 监听(Listen)模式,在服务器端指定端口进行监听时指定选项。

■客户端

客户端输入如下命令进行连通性确认。

nc 59.110.54.78 8888