暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux和Windows下ping的区别

五角钱的程序员 2020-08-19
895
点击上方“五角钱的程序员”,选择“设为星标
第一时间关注技术干货!

✨一起学习、成长、温情的热爱生活✨  

图丨pexels


windows  

Ping 是Windows自带的一个DOS命令。利用它可以检查网络是否能够连通
,用好它可以很好地帮助我们分析判定网络故障。该命令可以加许多参数使用,键入Ping按回车即可看到详细说明。Ping 命令可以用来验证与远程计算机的连接。

ping的参数


ping [-t]
[-a]
[-n count]
[-l length]
[-f]
[-i ttl]
[-v tos]
[-r count]
[-s count]
[-j computer-list] | [-k computer-list] [-w timeout]


【参数说明】


-t :不停的ping指定的计算机,直到按下Ctrl+C中断。

-a :将地址解析为计算机NetBios名。

-n :发送count指定的ECHO数据包数。通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助。能够测试发送数据包的返回平均时间,及时间的快慢程度。默认值为 4

-l :发送指定数据量的ECHO数据包。默认为 32 字节;最大值是65500byt。

-f :在数据包中发送“不要分段”标志,数据包就不会被路由上的网关分段。通常你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。

-i :将“生存时间”字段设置为TTL指定的值。指定TTL值在对方的系统里停留的时间。同时检查网络运转情况的。

-v :tos 将“服务类型”字段设置为 tos 指定的值。

-r :在“记录路由”字段中记录传出和返回数据包的路由。通常情况下,发送的数据包是通过一系列路由才到达目标地址的,通过此参数可以设定,想探测经过路由的个数。限定能跟踪到9个路由。

-s :指定 count 指定的跃点数的时间戳。与参数-r差不多,但此参数不记录数据包返回所经过的路由,最多只记录4个。

-j :利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源) IP 允许的最大数量为 9

-k :computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9

-w:timeout 指定超时间隔,单位为毫秒。


一般情况下,通过ping目标地址,可让对方返回TTL值的大小,通过TTL值可以粗略判断目标主机的系统类型是Windows还是UNIX/Linux
,一般情况下Windows系统返回的TTL值在100-130之间,而UNIX/Linux系统返回的TTL值在240-255之间。因为TTL的值在对方的主机里是可以修改的,故此种方法可作为参考。

ping命令一般成功的话就会ping四次自动停止

linux ping命令参数及用法详解 

ping的参数

语法:ping
[-dfnqrRv]
[-c<完成次数>]
[-i<间隔秒数>]
[-I<网络界面>]
[-l<前置载入>]
[-p<范本样式>]
[-s<数据包大小>]
[-t<存活数值>]
[主机名称或IP地址]



补充说明:执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
参数:
Linux ping 一个目标时,如果不中断,会一直ping

所以ping时尽量指定ping次数

-d 使用Socket的SO_DEBUG功能。

-c<完成次数> 设置完成要求回应的次数。

-f 极限检测。

-i<间隔秒数> 指定收发信息的间隔时间。

-I<网络界面> 使用指定的网络界面送出数据包。

-l<前置载入> 设置在送出要求信息之前,先行发出的数据包。

-n 只输出数值。

-p<范本样式> 设置填满数据包的范本样式。

-q 不显示指令执行过程,开头和结尾的相关信息除外。

-r 忽略普通的Routing Table,直接将数据包送到远端主机上。

-R 记录路由过程。

-s<数据包大小> 设置数据包的大小。

-t<存活数值> 设置存活数值TTL的大小。

-v 详细显示指令的执行过程。



小结  

使用ping时尽量加参数
Windows下ping命令的次数参数为 -n
Linux下ping命令的次数参数为 -c
Linux的ping语法和Windows的差不多但是Linux的Ping数据包是64bytes的而Windows的是32byte,
Windows下默认发送四次数据包,完了之后自己结束,Linux下的ping程序默认不停发送数据包,直到你手动停止

// END

记得点击在看



推荐阅读:

聊到JVM(还怕面试官问JVM吗?)
面试官问我Linux下常见网络命令
你真的知道面向过程和面向对象的区别吗?
你真的知道equals和==的区别吗?
普通人如何全面了解大数据的特点,意义和发展前景
如何搜到你想要搜到的东西?
作者:BossXiang,可爱且懂得生活的研究生一枚(码农一枚)。
"一起学习、成长、温情的热爱生活。"
私人微信|zijietiaodongpro (字节跳动pro)
CSDN|知乎|github|掘金:五角钱的程序员 

关注福利
关注公众号,后台回复【电子书】
几百本常用技术类电子书籍

五角钱的程序员

希望这篇文章可以帮到你~
欢迎大家点个在看,分享至朋友圈


你我都成为光发热之人,在看在看在看~(疯狂暗示!)

文章转载自五角钱的程序员,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论