Linux中ping命令

PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量检查网络是否连通,可以很好地帮助我们分析和判定网络故障。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMP echo(ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。
参数说明:

  -a     #将地址解析为主机名
  -A     #使用数据包中响应数据
  -B     #不允许ping广播地址
  -c     #设置发送数据包数量
  -D     #打印时间戳
  -d     #使用SO_DEBUG套接字选项
  -f     #设置“不分段”标志,在数据包超出本地网络时,不允许IP分段。
  -I     #指定使用的网络接口
  -i     #设置两次ping的时间间隔
  -L     #抑制组播报文回送,只适用于ping的目标为一个组播地址            
  -l     #设置在送出要求信息之前,先行发出的数据包;
  -m     #在数据中添加一个标记
  -M     #指定路径发现MTU
  -n     #不要将ip地址转换成主机名;
  -p     #指定填充ping数据包的十六进制内容,在诊断与数据有关的网络错误时这个选项就非常有用,如:“-p ff”;
  -q     #不显示任何传送封包的信息,只显示最后的结果
  -Q     #设置Qos,它是ICMP数据报相关位;可以是十进制或十六进制数
  -s     #指定每次ping发送的数据字节数
  -S     #使用作为SO_SNDBUF套接字选项值
  -t     #设置TTL(Time To Live)为指定的值。该字段指定IP包被路由器丢弃之前允许通过的最大网段数;
  -U     #打印到用户延迟
  -v     #使ping处于verbose方式,它要ping命令除了打印ECHO-RESPONSE数据包之外,还打印其它所有返回的ICMP数据包
  -V     #打印版本并推出
  -w     #设置超时时间
  -W     #以毫秒为单位设置ping的超时时间;
IPv4 options:
  -4     #使用ipv4
  -b     #允许ping广播地址
  -R     #记录ping的路由过程(IPv4 only); 注意:由于IP头的限制,最多只能记录9个路由,其他会被忽略;
  -T     #设置IP timestamp选项,可以是下面的任何一个 

IPv6 options:
  -6    #使用ipv6
  -F    #为ping回显请求分配一个20位的“flow label”,如果未设置,内核会为ping随机分配;
  -N    #使用icmp6节点信息查询

常用参数使用示例:
每个1秒ping一次共ping5次

[root@192 admin]# ping -i 1 -c 5 192.168.100.15
PING 192.168.100.15 (192.168.100.15) 56(84) bytes of data.
64 bytes from 192.168.100.15: icmp_seq=1 ttl=64 time=0.554 ms
64 bytes from 192.168.100.15: icmp_seq=2 ttl=64 time=0.566 ms
64 bytes from 192.168.100.15: icmp_seq=3 ttl=64 time=0.548 ms
64 bytes from 192.168.100.15: icmp_seq=4 ttl=64 time=0.741 ms
64 bytes from 192.168.100.15: icmp_seq=5 ttl=64 time=1.09 ms

--- 192.168.100.15 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4055ms
rtt min/avg/max/mdev = 0.548/0.700/1.093/0.209 ms

指定字节数为100的ping

[root@192 admin]# ping -s 100 192.168.100.15
PING 192.168.100.15 (192.168.100.15) 100(128) bytes of data.
108 bytes from 192.168.100.15: icmp_seq=1 ttl=64 time=0.508 ms
108 bytes from 192.168.100.15: icmp_seq=2 ttl=64 time=0.332 ms
108 bytes from 192.168.100.15: icmp_seq=3 ttl=64 time=0.588 ms
108 bytes from 192.168.100.15: icmp_seq=4 ttl=64 time=0.731 ms
108 bytes from 192.168.100.15: icmp_seq=5 ttl=64 time=0.672 ms

简单的ping脚本

[root@192 admin]# cat ip.txt
192.168.100.100
192.168.100.15

#!/bin/bash
TIME_DATA=$(date +"%Y-%m-%d")
DIR=/home/admin/`date +%Y%m%d`

if [ ! -d $DIR ];then
  mkdir /home/admin/`date +%Y%m%d`
  else
  echo "ping_dir is ok!"
fi

while read line
do
ping -s 100 -i 1 -c 5 $line  >> $DIR/${TIME_DATA}-ping100-$line.txt &
done < /home/admin/ip.txt

你可能感兴趣的:(linux,网络,服务器)