欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ping命令详解

程序员文章站 2022-06-30 20:49:38
...

目录
该文章参考了:http://blog.csdn.net/hebbely/article/details/54965989
支持原创,转载了该作者的文章,感谢分享,学习受教了。

1. ping命令定义

ping (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP;回声请求消息给目的地并报告是否收到所希望的ICMP echo (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令
ICMP:

ICMP协议是“Internet Control Message Ptotocol”(因特网控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息.


2. ping命令的原理

ping和ICMP的关系:ping命令发送数据使用的是ICMP协议。

1) 向指定的网络地址发送一定长度的数据包,按照约定,若指定网络地址存在的话,会返回同样大小的数据包,当然,若在特定时间内没有返回,就是“超时”,会被认为指定的网络地址不存在。

2) ICMP协议通过IP协议发送的,IP协议是一种无连接的,不可靠的数据包协议。在Unix/Linux,序号从0开始计数,依次递增。而Windows ping程序的ICMP***是没有规律。

3) ICMP协议在实际传输中数据包:20字节IP首部 + 8字节ICMP首部 + 1472字节<数据大小>38字节。

4) ICMP报文格式:IP首部(20字节) + 8位类型 + 8位代码 + 16校验和 + (不同类型和代码,格式也有所不同)。


----

#使用Ping命令来测试网络连通
连通问题是由许多原因引起的,如本地配置错误、远程主机协议失效等,当然还包括设备等造成的故障。

使用Ping检查连通性有五个步骤:
:   使用ifconfig 检查网络设置是否正确
:   使用ping 127.0.0.1   ,ping回送地址是为了检查本地的TCP/IP协议有没有设置好
:    ping本地的IP地址。这样是为了检查本机的IP地址是否设置有误
:    Ping本网网关或本网IP地址。这样做事为了检查网络硬件设备是否有问题,也可以检查本机与本地网络连接是否正常
:   Ping远程IP地址,这主要是检查本网或本机与外部的连接是否正常


3 用Ping命令来判断一条链路好坏

ping命令除了可以检查网络的连通性或者网络故障之外,还可以利用它返回的数据,估算该机器与连通主机之间的速度是多少字节每秒。

"字节=64"表示ICMP报文中有32个字节的测试数据;

"时间=20ms"是往返时间。 

"已发送=4"发送多个秒包、"已接收=4"收到多个回应包、"丢失=0"丢弃了多少个;

Minmum 最小值 、MAXimun 最大值、Average 平均值。

上述数据表示,来回用了20MS 时间,lost =0 即是丢包数为0,网络状态相当良好;

4 对ping以后返回信息的分析

4.1 request time out

该信息出现,有可能是以下几种情况:

ping命令详解

如下:
A: 对方已关机,或者网络上根本没有这个地址。如图,ping 192.168.0.7或者B关机的情况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通这台机器了。


4.2 Destination host Unreachable

A. 对方与自己不在同一网段内,而自己又未设置默认的路由,比如上例中A机中不设定默认的路由,运行Ping 192.168.1.4就会出现“Destination host Unreachable”。

B. 网线出了故障或者IP地址不存在

这里要说明一下“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。

4.3 bad ip address

这个信息表示您可能没有连接到DNS服务器,所以无法解析这个IP地址,也可能是IP地址不存在。

4.4 Source quench received

这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。

4.5 Unknown host——不知名主机

这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。
DNS配置不正确

4.6 No answer——无响应

这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;通信线路有故障;中心主机存在路由选择问题。

4.7 Ping 127.0.0.1 无法ping通

如果本地址无法Ping通,则表明本地主机TCP/IP协议不能正常工作。

4.8 no rout to host

网卡工作不正常

4.9 transmit failed,error code

10043网卡驱动不正常
相关标签: 网络