ip网段扫描机器shell脚本
说明
用于检测网段是否有存活设备, 以192.168.102.0/24这个网段为例
#!/bin/bash
# 192.168.102.0/24 网段ping扫描脚本
# 并行扫描,1秒超时,快速定位在线设备# 定义网段前缀
NETWORK="192.168.102"
# 存储在线IP的临时文件
ONLINE_IPS="/tmp/online_ips.txt"# 初始化临时文件(清空原有内容)
> $ONLINE_IPS# 打印扫描信息
echo "======================================"
echo "  开始扫描 192.168.102.1-254 网段"
echo "  扫描模式:并行ping(1秒超时)"
echo "  在线设备IP会自动记录并输出"
echo "======================================"
echo# 并行ping扫描(1-254)
for IP in {1..254}; do# ping参数说明:# -c 1:发送1个ICMP包# -W 1:超时1秒(快速判断)# -q:静默模式(只输出结果,不显示过程)ping -c 1 -W 1 -q "${NETWORK}.${IP}" > /dev/null 2>&1 && {echo "✅ 发现在线设备:${NETWORK}.${IP}"echo "${NETWORK}.${IP}" >> $ONLINE_IPS} &
done# 等待所有后台ping进程结束
wait# 扫描完成,输出汇总
echo
echo "======================================"
echo "  扫描完成!"
echo "--------------------------------------"
if [ -s $ONLINE_IPS ]; thenecho "  在线设备总数:$(wc -l < $ONLINE_IPS) 个"echo "  在线IP列表:"cat $ONLINE_IPS | sort -V
elseecho "  ❌ 未发现任何在线设备(检查网段或网络连接)"
fi
echo "======================================"# 清理临时文件(可选,保留则注释此行)
rm -f $ONLINE_IPS
执行效果

