Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中 Ping 是一个十分好用的 TCP/IP 工具。它主要的功能是用来检测网络的连通情况和分析网络速度。可以利用 PING 命令检查网络连通状态,ping命令是基于ICMP。
这里先介绍ICMP。ICMP是网络层协议,一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。所以我们就需要一种协议来完成这样的功能–ICMP协议
1.ICMP协议的功能主要有:
确认IP包是否成功到达目标地址
通知在发送过程中IP包被丢弃的原因
2.常见的ICMP报文:
相应请求
目标不可达,源抑制和超时报文
时间戳请求
3.ICMP大概分为两类报文:
一类是通知出错原因 ;一类是用于诊断查询
类型及含义如下:
类型(十进制) 内容
0 回送应答
3 目标不可达
4 原点抑制
5 重定向或改变路由
8 回送请求
9 路由器公告
10 路由器请求
11 超时
17 地址子网请求
18 地址子网应答
而相应请求用的ping操作中就包括了相应请求(类型字段值为8)和应答(类型字段值为0)ICMP报文。过程:一台主机向一个节点发送一个类型字段值为8的ICMP报文,如果途中没有异常(如果没有被路由丢弃,目标不回应ICMP或者传输失败),则目标返回类型字段值为0的ICMP报文,说明这台主机存在
这里主要介绍ping之后返回信息的分析
1、Request timed out
这是大家经常碰到的提示信息,至少有下几种情况 。
a)对方已关机,或者网络上根本没有这个地址:比如在主机 A 中 PING 192.168.0.7 , 或者主机 B 关机了, 在主机 A 中 PING 192.168.0.5 都会得到超时的信息。
b) 对方与自己不在同一网段内,通过路由也无法找到对方,但有对方确实是存在的,当然不存在也是返回超时的信息。
C) 对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)。 怎样知道对方是存在,还是不存在呢, 可以用带参数 -a 的 Ping 命令探测对方,如果能得到对方的 NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。
d)错误设置 IP 地址 正常情况下,一台主机应该有一个网卡,一个 IP 地址,或多个网卡,多个 IP 地址(这些地址一定要处于不同的 IP 子网)。但如果一台电脑的“拨号网络适配器” (相当于一块软网卡) 的 TCP/IP 设置中, 设置了一个与网卡 IP 地址处于同一子网的 IP 地址,这样,在 IP 层协议看来,这台主机就有两个不同的接口处于同一网段内。
当从这台主机Ping其他的机器时,会存在这样的问题:
A、主机不知道将数据包发到哪个网络接口,因为有两个网络接口都连接在同一网段。
B、主机不知道用哪个地址作为数据包的源地址。因此,从这台主机去 Ping 其他机器, IP层协议会无法处理,超时后, Ping 就会给出一个“超时无应答”的错误信息提示。但从其他主机 Ping 这台主机时,请求包从特定的网卡来,ICMP只须简单地将目的、源地址互换,并更改一些标志即可,ICMP 应答包能顺利发出,其他主机也就能成功 Ping通这台机器了。
2、Destination host Unreachable
(1). 对方与自己不在同一网段内,而自己又未设置默认的路由,比如上例中 A 机中不设定默认的路由,运行 Ping 192.168.0.1.4 就会出现“ Destination host Unreachable
(2)网线出了故障 这里要说明一下“ destination host unreachable ”和 “time out ”的区别,如果所经过的路由器的路由表中具有到达目标的路由, 而目标因为其他原因不可到达,这时候会出现“ time out ”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable ”。
(3)Bad IP address 这个信息表示您可能没有连接到 DNS服务器,所以无法解析这个IP 地址,也可能是 IP 地址不存在。
3、Source quench received
这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。
4、Unknown host——不知名主机
这种出错信息的意思是,该远程主机的名字不能被域名服务器( DNS)转换成 IP 地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。
5、No answer——无响应, 这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;通信线路有故障;中心主机存在路由选择问题。
6、Ping 127.0.0.1 :127.0.0.1 是本地循环地址 如果本地址无法 Ping 通,则表明本地机 TCP/IP 协议不能正常工作。
7、no rout to host : 网卡工作不正常。
8、transmit failed,error code:10043 网卡驱动不正常。
9、unknown host name:DNS 配置不正确。