shell常用命令ping

主机检测命令ping

  向网络主机发送ICMP回传请求

常用选项

-A:洪水攻击选项,启用此功能能在短时间之内发送大量的ping包
-b:开启ping网桥模式,默认不允许ping网桥
-c:设置发送多少个包
-D:设置ping的时间戳(很少用,暂未发现其作用)
-i:设置每一个包的间隔时间,只有超户能使用此选项(用过最小的值0.01)-I:设定源地址ping目的地址,源地址必须配置在网卡接口之上
-l:设置初次ping的时候同时能发送多少icmp包过去(用的也少,具体场景没找到)
-r:直接绕过路由表(也没找到具体的场景,不知道是不是检测线路用的)
-s:指定每次icmp包的大小,默认是56字节和8个icmp的头部包
-t:设置ttl值(ttl是数据包经过多重路由时,最大支持的路由节点数,每次经过一个路由,ttl值都会减少1,主要用来检测路由经过的节点)
-w:指定超时时间,如:-w 10则ping只能执行10秒钟
-W:等待响应的时间,以秒计,该选项仅在没有任何响应的情况下影响超时。

指定源ip进行ping操作

ping -I 192.168.1.88 192.168.9.1
# 192.168.1.88:是本地源地址,配置在以太网接口之上
# 192.168.9.1:是目的地址
24位掩码局域网主机存活检测

#!/bin/bash -
red="e[31m"
shutdown="e[0m"
green="e[32m"
for ip in {1..254}
do
ping -c 1 -W1 -w 0.1 192.168.1.${ip} &> /dev/null
if [ $? -eq 0 ]
then
echo -e "${green}"192.168.1.${ip}${shutdown}" is running."
else
echo -e "${red}"192.168.1.${ip}${shutdown}" is stop."
fi
done

16位局域网主机存活检测

#!/bin/bash -
red="e[31m"
shutdown="e[0m"
green="e[32m"
for IP in {0..254}
do
for ip in {1..254}
do
ping -c1 -W1 -w 0.1 192.168.$IP.$ip &> /dev/null
if [ $? -eq 0 ]
then
echo -e "${green}"192.168.$IP.${ip}${shutdown}" is running."
else
echo -e "${red}"192.168.$IP.${ip}${shutdown}" is stop."
fi
done
done

端口检测脚本

#!/bin/bash -
shutdown="e[0m"
green="e[32m"
for ip in {1..254}
do
ping -c 1 -W1 -w 0.1 192.168.1.${ip} &> /dev/null
if [ $? -eq 0 ]
then
echo -e "${green}#################################################${shutdown}"
echo "Host 192.168.1.${ip} runs on the following ports. "
nmap 192.168.1.$ip | sed -n '/^PORT/,/^MAC/p'| sed -n '/^[0-9]/p'
echo -e "e[34m#################################################${shutdown}"
echo ""
fi
done


原文地址:https://www.cnblogs.com/linyu51/p/14239642.html