在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。

简介: 在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。

要在Linux中编写一个脚本来判断192.168.1.0/24网络中哪些IP地址是在线的(即可以ping通),你可以使用Shell脚本结合ping命令来实现。下面是一个简单的示例脚本,它会遍历该子网内的所有IP地址,并打印出可以ping通的IP。

请注意,在运行此脚本之前,确保你有执行该操作的权限,并理解ping大量IP可能会对网络造成一定负担。

#!/bin/bash
# 定义网络和掩码
NETWORK=192.168.1
MASK=24
# 计算子网的第一个和最后一个IP
FIRST_IP=$(($NETWORK<<24))&((1<<32)-1-$((1<<(32-$MASK))))
LAST_IP=$((FIRST_IP | (1<<(32-$MASK))-1))
# 遍历IP范围并ping每个IP
for ip in $(seq $FIRST_IP $LAST_IP); do
# 将数字IP转换为点分十进制格式
    PINGABLE_IP=$(printf "%d.%d.%d.%d" $(($ip>>24&0xFF)) $(($ip>>16&0xFF)) $(($ip>>8&0xFF)) $(($ip&0xFF)))
# 尝试ping并检查返回值,通常0表示成功
    ping -c 1 -W 1 $PINGABLE_IP > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "$PINGABLE_IP is online"
fi
done

保存这个脚本到文件中,例如check_ips.sh,然后给它执行权限并运行:

chmod +x check_ips.sh
./check_ips.sh

解释脚本关键部分:

  • #!/bin/bash 定义了脚本使用的Shell类型。
  • $NETWORK$MASK 变量存储了网络地址和子网掩码信息。
  • 使用位运算计算子网的第一个和最后一个IP地址。
  • seq 命令生成IP地址序列。
  • printf 将计算出的数字IP转换为点分十进制格式。
  • ping -c 1 -W 1 指令尝试向每个IP地址发送一个ICMP请求,并设置超时为1秒。
  • $? 存储上一条命令的退出状态,如果ping成功,则其值为0。
  • 根据ping的结果,脚本输出相应的IP地址是否在线的信息。

综上所述,请根据实际情况调整脚本中的参数,比如增加或减少超时时间等。

相关文章
|
14天前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
57 18
|
23天前
|
Linux 数据安全/隐私保护
使用Linux命令行接入无线网络Wi-Fi的示例。
现在,你已经使用命令行成功地连接到 Wi-Fi 网络了。这两个示例涵盖了用 `nmcli` 和 `wpa_supplicant` 连接无线网络的常见场景,让你能够不依赖图形化界面来完成这个任务。在日常使用中熟练掌握这些基本操作能增强你对 Linux 系统的理解,帮助你更有效地处理各种问题。
55 12
|
1月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
94 24
|
2月前
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
206 28
|
2月前
|
Ubuntu Linux
Ubuntu下载工具:ip addr、ifconfig、ping、make的使用
的选项和参数,这里只是简单地介绍了它们的基本用法。如果你想要深入学习这些工具,我建议你查阅它们的man页面,或者找一本好的Linux教程进行学习。
101 22
|
1月前
|
安全 Ubuntu Linux
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
66 0
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
|
3月前
|
Ubuntu Linux
Linux系统管理:服务器时间与网络时间同步技巧。
以上就是在Linux服务器上设置时间同步的方式。然而,要正确运用这些知识,需要理解其背后的工作原理:服务器根据网络中的其他机器的时间进行校对,逐步地精确自己的系统时间,就像一只犹豫不决的啮齿动物,通过观察其他啮齿动物的行为,逐渐确定自己的行为逻辑,既简单,又有趣。最后希望这个过程既能给你带来乐趣,也能提高你作为系统管理员的专业素养。
307 20
|
2月前
|
域名解析 API PHP
VM虚拟机全版本网盘+免费本地网络穿透端口映射实时同步动态家庭IP教程
本文介绍了如何通过网络穿透技术让公网直接访问家庭电脑,充分发挥本地硬件性能。相比第三方服务受限于转发带宽,此方法利用自家宽带实现更高效率。文章详细讲解了端口映射教程,包括不同网络环境(仅光猫、光猫+路由器)下的设置步骤,并提供实时同步动态IP的两种方案:自建服务器或使用三方API接口。最后附上VM虚拟机全版本下载链接,便于用户在穿透后将服务运行于虚拟环境中,提升安全性与适用性。
|
2月前
|
人工智能 Kubernetes Ubuntu
linux配置IP
linux配置IP
137 1
|
3月前
|
JSON 运维 Ubuntu
Linux下如何使用Curl进行网络请求
希望这篇文章能帮助您在Linux下更好地使用Curl进行网络请求。如有疑问,请随时提问!
160 10

热门文章

最新文章