查看原文
其他

佩服!ping 命令还能这么玩?

Pheenet菲尼特 民工哥技术之路 2021-12-16


 点击图片获取最近两年爆款好文 


有朋友反映,能不能讲下 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 检测完为止。

作者:Pheenet菲尼特

https://www.toutiao.com/a6783191796659782148

end


最新整理的 2TB 技术干货:包括架构师实战教程、大数据、Docker容器、系统运维、数据库、redis、MongoDB、电子书、Java基础课程、Java实战项目、ELK Stack、机器学习、BAT面试精讲视频等。只需在「 民工哥技术之路」微信公众号对话框回复关键字:1024 即可获取全部资料。 

精彩文章推荐:


利用 Harbor 搭建企业级私有镜像仓库(赠书)

带你全面认识 Linux

推荐 5 款良心网盘,免费、空间大、不限速!

再见,VPN !

Linux性能检测常用的10个基本命令

Github下载慢解决了!「100%有效」

好文章,朕在看❤️↓↓↓

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存