标签:
一、ping简介
PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。
Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。
应用格式:Ping空格IP地址。
二、ping原理
1. Ping的基本原理
利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一
个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。
2. Ping具体工作过程
在一个主机上ping一个IP地址的时候,ping命令会构建一个固定格式的ICMP请求包,然后由ICMP协议将这个数据包连同目的IP地址一起交给IP协议层。IP协议层会去创建一个IP数据包,IP协议通过目的IP地址和自己的子网掩码来判断目的IP地址是否与本地主机在同一网段,若在同一网段,想办法得到目的IP的MAC地址,否则想办法得到路由器的MAC地址。首先到本地ARP缓存中查找是否有目的主机IP地址和MAC地址的映射关系记录,如果没有就发送一个ARP请求广播。得到目的主机的MAC地址后,和数据包一起交给数据链路层,数据链路层会构建一个数据帧,然后将数据发送出去。
目的主机收到数据帧后,先检查它的目的地址,并和本机的物理地址比对,如果符合就接受,否则丢弃。接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层协议。同样,IP层检查后,将有用的信息提取后交给ICMP协议,ICMP协议处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B一模一样。
三、ping参数使用
(在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数。)
4. Ping -l size 目的IP:定义echo数据包大小。
(在默认的情况下windows的ping发送的数据包大小为32byte,我们也可以自己定义它
的大小,但有一个大小的限制,就是最大只能发送65500byte,可以通过配合-t参数来实
现一个有攻击性的命令:ping -l 65500 -t 目的IP)
5. Ping -r count 目的IP:通过count设定你想探测经过的路由的个数,不过限制在了9个。
6. Ping -f 目的IP:在数据包中发送“不要分段”标志。
(在一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会
再分段处理。)
7. Ping -i TTL 目的IP:指定TTL值在对方的系统里停留的时间。
8. Ping -v TOS 目的IP:将“服务类型”字段设置为 tos 指定的值。
9. Ping -w timeout 目的IP:指定超时间隔,单位为毫秒。
10. Ping -4 目的IP:强行使用IPv4.
11. Ping -6 目的IP:强行使用IPv6.
四、ping返回信息
对方拒绝接收你发给它的数据包造成数据包丢失。大多数的原因可能是对方装有防火墙
或已下线。
2. "Destination Host Unreachable":这个信息表示对方主机不存在或者没有跟对方建立连接。
3. "Bad IP address":这个信息表示你可能没有连接到DNS服务器所以无法解析这个IP地址,
也可能是IP地址不存在。
4. "Source quench received":这个信息比较特殊,它出现的机率很少。它表示对方或中途的
服务器繁忙无法回应。
注:"destination host unreachable"和"time out"的区别在于,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其它原因不可到达,这时候会出现"time out",如果路由表中连到达目标的路由都没有,那就会出现"destination host unreachable"。
五、ping使用步骤
使用Ping检查连通性有六个步骤:
1.使用ipconfig /all观察本地网络设置是否正确。
2.Ping127.0.0.1,127.0.0.1回送地址Ping回送地址是为了检查本地的TCP/IP协议有没有设
置好。
3.Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误。
4.Ping本网网关或本网IP地址,这样的是为了检查硬件设备是否有问题,也可以检查本机
与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)
5.Ping本地DNS地址,这样做是为了检查本地DNS服务器是否工作正常。
6.Ping远程IP地址,这主要是检查本网或本机与外部的连接是否正常。
六、linux和windows的一些区别:
1. Linux的Ping数据包是64bytes的 而Windows的是32byte。
2. Windows下默认发送四次数据包,完了之后自己结束,Linux下的ping程序默认不停发送数
据包,直到你手动停止。
3. 返回数据格式不同。
4. Windows的ipconfig/all命令在Linux中对应的是ifconfig命令。
标签:
原文地址:http://www.cnblogs.com/wujuntian/p/4804154.html