土木在线论坛 \ 电气工程 \ 工业自动化 \ 想不到吧,ping还能这么用!

想不到吧,ping还能这么用!

发布于:2023-05-19 09:46:19 来自:电气工程/工业自动化 [复制转发]

今天聊聊PING命令。


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



类似这种,ping ip地址或网关,然后ping通后会显示出以上数据。


再通过Ping返回的TTL值大小,粗略地判断目标系统类型是Windows系列还是UNIX/Linux系列。


但你还了解别的吗,除了这个,PING还能这么用?



ping-t、ping-a、ping-n、ping-l size、ping-r count,这些你都用上了吗?

ping几百到1000个ip地址,怎么批量?


今天就来讨论下PING的其他用法,你用过几个,又有几个还没用上。


ping-t的使用


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


这就说明电脑连接路由器是通的,网络效果很好。



可以按住键盘的Ctrl+C终止它继续ping下去,就会停止了,会总结出运行的数据包有多少,通断的有多少。



ping-a的使用


ping-a解析计算机名与NetBios名。


就是可以通过ping它的ip地址,可以解析出主机名。



当你遇到一个ip,却不知道它是哪个设备时,这时你可以通过ping -a知道它的主机名。

ping-n的使用


在默认情况下,一般都只发送四个数据包。


通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助。


比如你想测试发送10个数据包 的返回的平均时间为多少,最快时间为多少,最慢时间为多少?


可以这样获知:



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


说明你的网络良好。


如果对于一些不好的网络,比如监控系统中非常卡顿,这样测试,返回的结果可能会显示出丢失出一部分。


丢失的比较多的话,那么就说明网络不好。


通过这个,可以很直观地判断出网络的情况。


ping-l size的使用


ping-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个路由都显示出来了,可以看上图。


也就是说可以跟踪ip地址所经过的9个路由,在检查故障时可以快速定位。


如何同时批量ping多个IP地址


 01   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检测完为止。


 02   ping网段升级  


上面的命令虽然能批量ping 地址,但是代码在命令行窗口显示数量多的时候看起来也很麻烦,那么再升级一下,用下面的代码。


for /L %D in (1,1,255) do ping -n 10.168.1.%D >>a.txt 


说明,ip地址是变的,你填你需要测的ip网段就行,a.txt也是变的,可以自己设置名称。


这样就会把结果导入到a.txt文件中,全部IP检查完成后打开a.txt搜索“TTL=”包含它的就是通的地址,没有包含“TTL=”的地址就是不通的。


如下图:



打开后,就直接搜索没TTL的就可以了。


 03   ping网段命令再升级  


很多人要说了这样还要搜索,也不是太方便,需要这样查来查去,那么你再看下,是否有更简便的方法呢?


第一监控之前就发过。


答案肯定是有的,你看代码。


for /l %D in (1,1,255) do (ping 192.168.1.%D -n 1 && echo 192.168.1.%D>>ok.txt || echo 192.168.1.%D >>no.txt)


这段代码会将ping通的IP和不通的IP分别放到两个文件里面,这样是不是很方便啦,如下图:



这段代码非常实用,在大网络中可以用到,就是大家在输入的时候需要细心,不过也没有关系,可以直接把这个文章收藏,日后要用,直接复制里面代码,然后改下里面ip地址就行了。


 04   ping网段命令终极方法  


上面提到的三种代码提到的都是针对同一个网段内ip地址批量检测,那么肯定在实际项目中,也可能存不同网段的ip地址需要同时检测,那么怎么办呢?


也有方法,可以把没有规划的ip地址同时批量检测,你来看下代码:


for /f %D in (ip.txt) do (ping %D -n 1 && echo %i>>ok.txt || echo %D >>no.txt)


看见没,多了一个ip.txt文件,这个文件是要你自己准备的。


把你ping的地址写到这个文件里面,同时可以ping 1000个ip地址以上,代码会自己读取这个文件里面的ip地址,并且把结果放到两个文件里面去。


这里就不给大家截图了很容易理解。


以及补充下:


上面代码生成的文件在你命令行默认目录下。也就是说如果你的命令行状态是:


'c:windowssystem32>'那么生成的文件就在系统的system32目录下面。如果是'c:'那么文件就在C盘根目录下。


这个可以根据你的实际情况进行调整。

全部回复(0 )

只看楼主 我来说两句抢沙发
这个家伙什么也没有留下。。。

工业自动化

返回版块

17.92 万条内容 · 343 人订阅

猜你喜欢

阅读下一篇

交换机接口故障排查大全

本文档描述了如何查看接口状态,以及当接口的物理状态处于DOWN状态时,如何定位接口故障的原因,并恢复接口到UP状态。引起接口物理DOWN的原因主要包括硬件故障和软件故障两个方面。硬件故障,包括本端或对端设备的硬件故障,例如单板、接口、光模块、光纤、网线等故障。软件故障,主要是链路两端配置不一致,例如端口协商模式、速率、双工等配置不一致。为了更加精确的分析接口物理DOWN的故障原因,本文以故障可能的引入点为线索,按照人为因素导致的故障、设备自身硬件故障、连接介质故障、连接介质使用方法错误、环境因素导致的故障五步骤为排查顺序,逐步找到问题根因并排除故障。

回帖成功

经验值 +10