ping 命令详解

1、ping介绍

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

Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态

2、ping报文

Ping命令发送的数据使用ICMP协议

ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。
ICMP属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。
当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。

3、ping命令参数

(1)ping /? :ping命令使用帮助。

(2)无参数 ping :在默认情况下,一般都是只发送四个32字节数据包,通过这个命令从数据包返回的最短时间、最长时间、平均时间可以衡量网络速度、延迟,从丢失率可以衡量网络的稳定性。

  (3) ping -t :不间断地Ping指定计算机,直到管理员中断。

  (4) ping -n:跟无参数ping一个样。在默认情况下无参数ping一般都是只发送四个32字节数据包,-n的话可以指定发送多少数据包,通过这个命令从数据包返回的最短时间、最长时间、平均时间可以衡量网络速度、延迟,从丢失率可以衡量网络的稳定性.

  (5) ping -l:发送size指定大小的到目标主机的数据包。

在默认的情况下Windows的ping发送的数据包大小为32byte(字节),最大能发送65500byte(字节)。当一次发送的数据包大于或等于65500byte(字节)时,将可能导致接收方计算机瘫痪。所以微软限制了这一数值,这个参数配合其它参数同时使用危害非常强大,比如攻击者结合-t参数实施无限死亡之ping攻击。(所以它具有危险性,不要轻易向别人计算机使用)。
例如:ping -l 65500 -t 192.168.1.79 会连续对192.168.1.79的IP地址执行无限死亡之ping攻击,直到被用户以Ctrl+C中断。当然,如果你只有一台计算机也许没有什么效果,但如果有很多计算机一起发出攻击(例如几百、几千、甚至上万台计算机同时对某个IP进行死亡之ping,那么就可以使对方完全瘫痪,网络严重堵塞,由此可见威力非同小可)。


  (6) ping -r:在“记录路由”字段中记录传出和返回数据包的路由,探测经过的路由个数,但最多只能跟踪到9个路由。例如:ping 39.156.66.14 -n 1 -r 8(发送一个数据包,最多记录9个路由)。 

ping -r 路由跟踪原理详情可查看ping -r 和 tracert 测试结果分析→传送门

(7) for /L %D in (1,1,255) do ping XXX.XXX.X.%D:批量ping网段,对于一个网段ip地址众多,如果单个检测实在麻烦,那么可以直接批量ping网段检测是那个ip地址出了问题,一目了然。例如:for /L %D in (1,1,255) do ping 192.168.2.%D可以批量ping192.168.2.1-192.168.2.255的IP地址。

 

4、使用ping检测MTU值

在默认的情况下Windows的ping发送的数据包大小为32byte(字节),最大能发送65500byte(字节)。当一次发送的数据包大于或等于65500byte(字节)时,将可能导致接收方计算机瘫痪。所以微软限制了这一数值,这个参数配合其它参数同时使用危害非常强大,比如攻击者结合-t参数实施无限死亡之ping攻击。(所以它具有危险性,不要轻易向别人计算机使用)。

802.3对数据帧的长度都有一个限制,其最大值分别是1500字节和1492字节
链路层的这个特性称为MTU,即最大传输单元。不同类型网络的数帧长度大多数都有一个上限。

ping -l 1492:发送一个定长数据包
ping -f :通知操作系统不能私自更改数据包大小

ping -l 1465 -f www.baidu.com

 1465超过了本网络所允许的最大帧长,需要分片(DF=1)才能发送,但是-f参数要求操作系统不能私自更改数据包大小导致数据帧发送失败。

继续测试……

 这是访问外网的情况,访问局域网是否一样,试一下:

不一样欸……,于是得出结论:

我这台机器访问外网的MTU是1464字节,访问本地局域网的MTU是65500字节

  • 29
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ping命令用于测试网络连接是否正常,可以通过向目标主机发送ICMP请求并等待响应来判断网络是否连通。下面是ping命令的输出详解: 1. 输出的第一行:PING 主机名(IP地址) 数据包大小 字节数=数据包大小,ttl 生存时间 例如:PING google.com (172.217.11.78) 56(84) bytes of data.,其中: - google.com:主机名,也可以是IP地址。 - (172.217.11.78):主机的IP地址。 - 56(84) bytes of data.:每个ICMP数据包的大小,这里表示发送的数据包大小为56字节,加上8字节的ICMP头部共计64字节。 - ttl:生存时间,表示每个数据包在网络中传输的最大跳数,通常为64。 2. 输出的第二行:来自 主机名(IP地址) 的回复: 字节大小=数据包大小 时间=往返时间ms TTL=生存时间 例如:64 bytes from 172.217.11.78: icmp_seq=1 ttl=116 time=21.9 ms,其中: - 64 bytes from 172.217.11.78:表示接收到的数据包大小。 - icmp_seq=1:ICMP序列号,用于标识发送的数据包,每发送一个数据包,序列号加1。 - ttl=116:生存时间,表示数据包在网络中的跳数,每经过一个路由器,该值减1,如果该值为0,则数据包被丢弃。 - time=21.9 ms:往返时间,表示从发送数据包到接收到响应的时间,单位为毫秒。 3. 输出的第三行:来自 主机名(IP地址) 的回复: 字节大小=数据包大小 时间=往返时间ms TTL=生存时间 同第二行。 4. 输出的第四行:来自 主机名(IP地址) 的回复: 字节大小=数据包大小 时间=往返时间ms TTL=生存时间 同第二行。 5. 输出的第五行:来自 主机名(IP地址) 的回复: 字节大小=数据包大小 时间=往返时间ms TTL=生存时间 同第二行。 6. 输出的第六行:统计信息 例如:--- google.com ping statistics ---,其中: - ---:表示分隔符。 - google.com ping statistics:表示ping的统计信息。 - ---:表示分隔符。 - 4 packets transmitted:发送的数据包数量。 - 4 packets received:接收到的数据包数量。 - 0% packet loss:数据包丢失率,表示发送的数据包中有多少个数据包没有接收到,一般情况下应该是0%。 - time 3000ms:总共的时间,单位为毫秒。 - rtt min/avg/max/mdev = 20.872/22.338/24.253/1.054 ms:往返时间的最小值、平均值、最大值和标准差,单位为毫秒。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值