失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux ping命令 检测网络是否连通

Linux ping命令 检测网络是否连通

时间:2018-08-29 09:47:41

相关推荐

Linux ping命令 检测网络是否连通

Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:ping空格IP地址。该命令还可以加许多参数使用,具体是键入ping按回车即可看到详细说明.

0.ping 命令格式: ping [选项] ip

1.指定ping的次数: -c 次数

ping -c 4127.0.0.1

2.只显示结果:-q

不显示ping的过程

[student@room9pc01 ~]$ ping -q -c4

PING www. (14.215.177.38) 56(84) bytes of data.

--- www. ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3003ms

rtt min/avg/max/mdev = 23.257/23.477/23.992/0.300 ms

3.mdev往返时延

mdev是 Mean Deviation 的缩写, 表示 ICMP包的RTT(Round-Trip Time,往返时延)偏离平均值的程度, 主要用来衡量网速的稳定性。 mdev 的值越大说明 网速越不稳定。 另外,不同的操作系统的mdev的名字也有所不同, 在mac下它叫作 stddev, 而在 Windows 下则根本没有这个统计指标。

[root@client ~]# ping -q -c3 127.0.0.1

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.

--- 127.0.0.1 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 1999ms

rtt min/avg/max/mdev = 0.025/0.031/0.035/0.008 ms

RTT参考值

场景参考值

本机0.001ms

同机房 0.1ms

同城 1ms

不同城 20ms

中国北方到南方 50ms

国内到国外200ms

4.制定ping数据包的大小

默认ping命令的数据包大小是64kb/s,通过-s选项可以制定数据包的大小

范围:1kb-65507kb

[root@client ~]# ping -s 254 127.0.0.1

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.

254 bytes from 127.0.0.1: icmp_seq=1 ttl=255 time=0.025 ms

--- 127.0.0.1 ping statistics ---

补充:,如果以最大值去ping服务器,并且以多进程多终端的方式,可能会造成服务器响应迟缓,可以认为是一种网络攻击手段

5.TTL 生成时间

TTL(Time to Live) ,即生存时间,指的是数据包被路由器丢弃之前允许通过的路由器的跳数,为了防止数据包在路由器之间无限转发,必须设置一个TTL值,每次路由器转发后都会将这个值减1,直到TTL的值为0,这个数据包的生命就被终结了.

命令:ping -t255

若不指定ttl的值,系统会默认给定一个值,不同的操作系统有不同的默认TTL值:

操作系统 TCP传输 UDP传输

AIX 60 30

DEC Patchworks V5 30 30

FreeBSD 2.1 64 64

HP/UX 9.0x 30 30

HP/UX 10.01 64 64

Irix 5.3 60 60

Irix 6.x 60 60

UNIX 255 255

Linux 64 64

MacOS/MacTCP 2.0.x 60 60

OS/2 TCP/IP 3.0 64 64

OSF/1 V3.2A 60 30

Solaris 2.x 255 255

SunOS 4.1.3/4.1.4 60 60

Ultrix V4.1/V4.2A 60 30

VMS/Multinet 64 64

VMS/TCPware 60 64

VMS/Wollongong 1.1.1.1 128 30

VMS/UCX (latest rel.) 128 128

MS Windows 95/98/NT 3.51 32 32

Windows NT 4.0/2000/XP/ 128 128

补充:

通过TTL设定值我们可以找到某主机到某主机的最小跳跃次数,即路由转发次数,如下,可以看到我的主机到百度的最小跳至少是11,因为ttl为10是显示跳跃超限,说明数据包在传给百度服务器的路上已经死了

[student@room9pc01 ~]$ ping -t11

PING www. (14.215.177.38) 56(84) bytes of data.

64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=54 time=23.6 ms

64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=54 time=23.2 ms

--- www. ping statistics ---

[student@room9pc01 ~]$ ping -

PING www. (14.215.177.39) 56(84) bytes of data.

From 14.29.117.234 (14.29.117.234) icmp_seq=1 Time to live exceeded

From 14.29.117.234 (14.29.117.234) icmp_seq=2 Time to live exceeded

--- www. ping statistics ---

2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1001ms

6.设置时间间隔

ping命令的默认时间间隔为1秒,通过-i(interval)可以设置ping命令的每个数据包发送的时间间隔,root权限可以设置到0.2秒以下,非root用户只能设置在0.2秒以上

ping -i 0.3

补充: -i 配合 -s 选项可以向一个服务器发送数量巨大的数据包

7.洪水模式

ping命令有一个选项是-f (flood ping),flood是洪水的意思,在这里是如洪水般的ping,使用这个选项,将会以全力去发送数据包,每秒发送100个数据包,称为'疯狂模式',只有root用户可以使用.可以看到丢包率为0,说明即使是很疯狂的去ping,还是能被服务器接收到的,说明服务器没有限制某个ip疯狂的ping(可能我们没有达到这个服务器的限制阀值)

[root@room9pc01 ~]# ping -f -c 10000

PING www. (14.215.177.39) 56(84) bytes of data.

...^C

--- www. ping statistics ---

6047 packets transmitted, 10000received, 0% packet loss, time 85831ms

rtt min/avg/max/mdev = 20.631/23.739/59.246/3.791 ms, pipe 5, ipg/ewma 14.196/22.474 ms

补充:洪水模式可以用-i 和 -c 配合使用,将间隔时间调低,将数据包大小调高即可.

如果觉得《Linux ping命令 检测网络是否连通》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。