主机检测命令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