码迷,mamicode.com
首页 > 其他好文 > 详细

ping

时间:2015-09-13 11:50:25      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

一、ping简介

PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。

PingWindowsUnixLinux系统下的一个命令。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地址是否与本地主机在同一网段,若在同一网段,想办法得到目的IPMAC地址,否则想办法得到路由器的MAC地址。首先到本地ARP缓存中查找是否有目的主机IP地址和MAC地址的映射关系记录,如果没有就发送一个ARP请求广播。得到目的主机的MAC地址后,和数据包一起交给数据链路层,数据链路层会构建一个数据帧,然后将数据发送出去。

目的主机收到数据帧后,先检查它的目的地址,并和本机的物理地址比对,如果符合就接受,否则丢弃。接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层协议。同样,IP层检查后,将有用的信息提取后交给ICMP协议,ICMP协议处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B一模一样。

 

三、ping参数使用

  1. Ping -t 目的IP:不停的ping对方主机,直到你按下Control-C
  2. Ping -a 目的IP:解析计算机NetBios名。
  3. Ping -n count 目的IP:发送count指定的Echo数据包数。

  (在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数。)

      4. Ping -l size 目的IP:定义echo数据包大小。

  (在默认的情况下windowsping发送的数据包大小为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返回信息

  1. "Request Timed Out":这个信息表示对方主机可以到达但超时了,这种情况通常是因为

   对方拒绝接收你发给它的数据包造成数据包丢失。大多数的原因可能是对方装有防火墙

   或已下线。

      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观察本地网络设置是否正确。

2Ping127.0.0.1127.0.0.1回送地址Ping回送地址是为了检查本地的TCP/IP协议有没有设

   置好。

3Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误。

4Ping本网网关或本网IP地址,这样的是为了检查硬件设备是否有问题,也可以检查本机

   与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)

5Ping本地DNS地址,这样做是为了检查本地DNS服务器是否工作正常。

6Ping远程IP地址,这主要是检查本网或本机与外部的连接是否正常。

 

六、linuxwindows的一些区别:

1. LinuxPing数据包是64bytes的 而Windows的是32byte

2. Windows下默认发送四次数据包,完了之后自己结束,Linux下的ping程序默认不停发送数

  据包,直到你手动停止。

3. 返回数据格式不同。

4. Windowsipconfig/all命令在Linux中对应的是ifconfig命令。

 

ping

标签:

原文地址:http://www.cnblogs.com/wujuntian/p/4804154.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!