Ping程序的使用

ping程序的目的是为了测试一台主机到另一台主机是否可达。ping程序通过主机向目的主机发送一份ICMP(网络控制报文协议)回显请求,并等待返回的ICMP 回显应答。也就是说ping程序需要通过运输层(ICMP属于网络层协议)。

在Unix系统中,可以通过终端直接输入ping命令执行ping程序,比如说我们输入ping 127.0.0.1,终端就会执行ping程序,向localhost发送ICMP报文,程序执行如下:

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.040 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.058 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.060 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.065 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.066 ms
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.060 ms
64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.065 ms
64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.039 ms
64 bytes from 127.0.0.1: icmp_seq=9 ttl=64 time=0.035 ms
64 bytes from 127.0.0.1: icmp_seq=10 ttl=64 time=0.066 ms
64 bytes from 127.0.0.1: icmp_seq=11 ttl=64 time=0.044 ms
64 bytes from 127.0.0.1: icmp_seq=12 ttl=64 time=0.031 ms
^C
--- 127.0.0.1 ping statistics ---
12 packets transmitted, 12 received, 0% packet loss, time 10998ms
rtt min/avg/max/mdev = 0.031/0.052/0.066/0.014 ms
  程序返回的应答当中,主要有icmp_seq和TTL以及time三个字段,icmp_seq表示ping程序发送的icmp报文的序号,TTL则是报文的寿命(Time  to live),该字段一般用来记录报文从源地址到现在的位置(报文从源地址到目的地址中间可能会经过很多路由器,每经过一个路由器TTL自减1,当路由器检查到TTL为0时,则抛弃该报文并向源地址发送一个ICMP超时差错报文)。因此TTL可以表示当前位置到源地址所需要的跳数(初始TTL减去当前TTL)。而time字段则是根据由ping收到应答报文和发出请求报文的时间相减得到。
  上面简要描述了ping程序的工作原理和使用方法,下面可以总结一下。ping程序的特点是利用ICMP协议来达到判断目的主机是否可达的目的,也可以利用ping程序判断主机网络是否配置正常。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值