⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 toutiao.com/a6783191796659782148 「Pheenet菲尼特」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】 有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有 源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言 将得到认真 回复。甚至不知道如何读源码也可以请教噢
  4. 新的 源码解析文章实时 收到通知。每周更新一篇左右
  5. 认真的 源码交流微信群。

有朋友反映,能不能讲下 ping 命令的使用,其实对于命令的使用我们之前提到过一些,但对 ping 命令没有过多讲解,一般我们用的都是它的基本功能,今天我们来详细看下 ping 命令详细使用。

一、ping 基本使用详解

在网络中 ping 是一个十分强大的 TCP/IP 工具。它的作用主要为:

1、用来检测网络的连通情况和分析网络速度

2、根据域名得到服务器 IP

3、根据 ping 返回的 TTL 值来判断对方所使用的操作系统及数据包经过路由器数量。

我们通常会用它来直接 ping ip 地址,来测试网络的连通情况。

类如这种,直接 ping ip 地址或网关,ping 通会显示出以上数据,有朋友可能会问,bytes=32;time<1ms;TTL=128 这些是什么意思。

bytes 值: 数据包大小,也就是字节。

time 值: 响应时间,这个时间越小,说明你连接这个地址速度越快。

TTL 值: Time To Live, 表示 DNS 记录在 DNS 服务器上存在的时间,它是 IP 协议包的一个值,告诉路由器该数据包何时需要被丢弃。可以通过 Ping 返回的 TTL 值大小,粗略地判断目标系统类型是 Windows 系列还是 UNIX/Linux 系列。

默认情况下,Linux 系统的 TTL 值为 64 或 255,WindowsNT/2000/XP 系统的 TTL 值为 128,Windows98 系统的 TTL 值为 32,UNIX 主机的 TTL 值为 255。

因此一般 TTL 值:

100~130ms 之间,Windows 系统 ;

240~255ms 之间,UNIX/Linux 系统。

当然,我们今天主要了解并不是这些,而是 ping 的其它参考。

ping 命令除了直接 ping 网络的 ip 地址,验证网络畅通和速度之外,它还有这些用法。

二、ping -t 的使用

不间断地 Ping 指定计算机,直到管理员中断。

这就说明电脑连接路由器是通的,网络效果很好。下面按按住键盘的 Ctrl+c 终止它继续 ping 下去,就会停止了,会总结出运行的数据包有多少,通断的有多少了。

三、ping -a 的使用

ping-a 解析计算机名与 NetBios 名。就是可以通过 ping 它的 ip 地址,可以解析出主机名。

四、ping -n 的使用

在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送 10 个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知:

从以上我就可以知道在给 47.93.187.142 发送 10 个数据包的过程当中,返回了 10 个,没有丢失,这 10 个数据包当中返回速度最快为 32ms,最慢为 55ms,平均速度为 37ms。说明我的网络良好。

如果对于一些不好的网络,比如监控系统中非常卡顿,这样测试,返回的结果可能会显示出丢失出一部分,如果丢失的比较多的话,那么就说明网络不好,可以很直观的判断出网络的情况。

五、ping -l size 的使用

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

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

例如:ping -l 65500 -t 211.84.7.46

会连续对 IP 地址执行 ping 命令,直到被用户以 Ctrl+C 中断.

这样它就会不停的向 211.84.7.46 计算机发送大小为 65500byt 的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,网络严重堵塞,由此可见威力非同小可。

六、ping -r count 的使用

在 “记录路由” 字段中记录传出和返回数据包的路由,探测经过的

路由个数,但最多只能跟踪到 9 个路由。

ping -n 1 -r 9 202.102.224.25 (发送一个数据包,最多记录 9 个路由)

将经过 9 个路由都显示出来了,可以看上图。

ping 命令用的较多的就这 6 类的,大家有可能在项目中会用到的。

七、批量 Ping 网段

对于一个网段 ip 地址众多,如果单个检测实在麻烦,那么我们可以直接批量 ping 网段检测,那个 ip 地址出了问题,一目了然。

先看代码,直接在命令行窗口输入:

for /L %D in (1,1,255) do ping 10.168.1.%D

IP 地址段修改成你要检查的 IP 地址段。

当输入批量命令后,那么它就自动把网段内所有的 ip 地址都 ping 完为止。

那么这段 “for /L %D in(1,1,255) do ping 10.168.1.%D” 代码是什么意思呢?

代码中的这个 (1,1,255) 就是网段起与始,就是检测网段 192.168.1.1 到 192.168.1.255 之间的所有的 ip 地址,每次逐增 1,直接到 1 到 255 这 255 个 ip 检测完为止。

文章目录
  1. 1. 一、ping 基本使用详解
  2. 2. 二、ping -t 的使用
  3. 3. 三、ping -a 的使用
  4. 4. 四、ping -n 的使用
  5. 5. 五、ping -l size 的使用
  6. 6. 六、ping -r count 的使用
  7. 7. 七、批量 Ping 网段