Ping是Linux、Windows、Unix系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。可以通过防火墙和内核参数禁止ping获取状态
Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMPecho (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。
ping 命令每秒发送一个数据报并接收到的响应输出
原理:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少
ping指的是端对端连通,通常用来作为可用性的检查, 但是某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。通常的情况下你如果不用作服务器或者进行网络测试,可以放心的选中它,保护你的电脑。
命令 | 解释 |
-c | 发送指定数后停止 |
-d | 用socket SO_DEBUG |
-f | 大量并快速发送数据表给服务器,接受反应 |
-t | 存活数值,存活数值TTL大小 |
-n | 只输出数值 |
-q | 只显示最后结果,不显示传送信息 |
-r | 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题 |
-R | 记录路由过程 |
-v | 详细显示指令执行过程 |
-i | 秒数;设定间隔几秒送一个网络封包给一台机器,默认是一秒送一次 |
-l | 网络界面;使用指定的网络界面送出数据包 |
-p | 范本样式:设置填满数据包的范本样式 |
-s | 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节 |
-b | allow pinging abroadcast address(广播ip地址) |
0.control+c (或-c参数)停止
1. ping 182.92.121.222
1 2 3 4 | PING 182.92.121.222: 56 data bytes 64 bytes from 182.92.121.222: icmp_seq=0 ttl=54 time=3.986 ms 64 bytes from 182.92.121.222: icmp_seq=1 ttl=54 time=15.302 ms 64 bytes from 182.92.121.222: icmp_seq=2 ttl=54 time=15.916 ms |
2.ping -b 182.92.121.222 网关
3.ping间隔和次数限制
1 | ping -c 8 -i 2 182.92.121.222 |
4.ping指定次数(3次后停止)
1 | ping -c 3 182.92.121.222 |
5.ping自定义间隔,数据包大小和ttl峰值
1 | ping -i 5 -s 1024 -t 88 182.92.121.222 |
简单shell脚本
1 2 3 4 5 6 7 | #!/bin/bash for i in {0..10} do echo "The ip is $i" ping -c 1 -i 3 192.168.0.$i done |