任务5 测试网络环境
1)ping命令检测网络状况
ping命令可以测试网络连通性,在网络维护时使用非常广泛,在网络出现问题后,我们通常第一步就是使用ping命令测试网络的连通性。ping命令使用ICMP协议,发送请求数据包到其他主机,然后接收对方的响应数据包,获取网络状况信息。我们可以根据返回的不同信息,判断可能出现的问题。ping命令格式:
ping可选项IP地址或主机名
ping命令支持大量可选项,表1-1所示为ping命令的功能选项说明。
表1-1 ping命令的各项功能说明
使用ping命令简单测试下网络的例子如图1-24所示。
图1-24 使用ping命令测试网络连通性
例子中向IP地址为192.168.0.4的主机发送请求后,192.168.0.4主机以64字节的数据包回应,说明两节点间的网络可以正常连接。每条返回信息会表示响应的数据包的情况。
icmp seq:数据包的序号,从1开始递增。
ttl:Time To Live,即生存周期。
time:数据包的响应时间,即发送请求数据包到接收响应数据包的完整时间,该时间越短说明网络的延时越小,速度越快。
在ping命令终止后,会在下方出现统计信息,显示发送及接收的数据包、丢包率及响应时间,其中丢包率越低,说明网络状况越良好、越稳定。
注意:Linux与Windows不同,默认不使用任何参数,ping命令会不断发送请求数据包,并从对方主机获得响应信息,如果测试完毕可以使用“Ctrl”+“C”终止,或者使用参数-c设置指定发送数据包的个数。
2)netstat命令
netstat(network statistics)主要用于检测主机的网络配置和状况,可以查看显示网络连接(进站和出站)、系统路由表、网络接口状态。netstat支持UNIX、Linux及Windows系统,功能非常强大。netstat命令格式:
netstat [可选项]
netstat常用的可选项如表1-2所示。
表1-2 netstat常用的可选项
(1)查看端口信息
网络上的主机通信时必须具有唯一的IP地址,以标识自己的身份。计算机通信时使用TCP/IP协议栈的端口,主机使用“IP地址:端口”与其他主机建立连接并进行通信。计算机通信时使用的端口从0~65535,共有65536个,数量非常多。对于一台计算机,可能同时使用很多协议,为了标识它们,相关组织为每个协议分配了端口号,比如HTTP协议的端口号为80, SMTP协议的端口号为25, TELNET协议的端口号为23等。网络协议就是网络中传递、管理信息的一些规范,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议。
使用netstat命令以数字方式查看所有TCP协议连接情况,命令及显示效果如图1-25所示。选项中-a表示显示所有连接。
图1-25 netstat命令测试
Proto:协议类型,因为使用-t选项,这里就只显示了TCP协议,要显示UDP协议可以使用-u选项,不设置则显示所有协议。
Local Address:本地地址,默认显示主机名和服务名称,使用选项-n后显示主机的IP地址及端口号。
Foreign Address:远程地址,与本机连接的主机,默认显示主机名和服务名称,使用选项-n后显示主机的IP地址及端口号。
State:连接状态,常见的有以下几种:
①LISTEN表示监听状态,等待接收入站的请求。
②ESTABLISHED表示本机已经与其他主机建立好连接。
③TIME WAIT表示等待足够的时间以确保远程TCP接收到连接中断请求的确认。
(2)查看路由表
netstat使用-r参数,可以显示当前主机的路由表信息。
(3)查看网络接口状态
灵活运用netstat命令,还可以监控主机网络接口的统计信息,显示数据包发送和接收情况。
MTU字段:表示最大传输单元,即网络接口传输数据包的最大值。
Met字段:表示度量值,越小优先级越高。
RX-OK/TX-OK:分别表示接收、发送的数据包数量。
RX-ERR/TX-ERR:分别表示接收、发送的错误数据包数量。
RX-DRP/TX-DRP:表示丢弃的数量。
RX-OVR/TX-OVR:表示丢失数据包的数量。
通过这些数据可以查看主机各接口连接网络的情况。