shell 局域网IP探活脚本

Linux Shell脚本是一种编程方式,它允许用户通过编写一系列命令和控制结构来自动化系统任务。Shell脚本通常以.sh为扩展名,使用诸如Bash、Zsh、Ksh等Shell解释器来执行。以下是一个简单的Shell脚本示例,该脚本用于展示如何遍历局域网的一个子网,并尝试ping每个IP地址以检测活动

复制代码
#!/bin/bash

# 设置要扫描的子网
SUBNET="192.168.1."
# 设置IP地址范围,例如,从1到254
for IP_SUFFIX in {1..254}
do
    # 构建完整的IP地址
    IP="$SUBNET$IP_SUFFIX"
    # 使用ping命令,仅发送一个包(-c 1),不显示详情(-q),并检查返回值
    PING_RESULT=$(ping -c 1 -q $IP 2>&1)
    # 检查ping的结果,如果成功则打印IP地址
    if [[ $? -eq 0 ]]; then
        echo "$IP is alive"
    fi
done

# 注意:在实际使用中,确保你有权限执行此类网络扫描,并且不会违反网络策略或法律。

bash如何使用这个脚本:

  1. 首先,你需要有权限在你的Linux系统上创建和执行脚本。

  2. 打开一个文本编辑器,复制上面的脚本内容并保存为一个文件,例如scan_lan.sh。

  3. 给予脚本执行权限: chmod +x scan_lan.sh

bash4. 运行脚本: ./scan_lan.sh

bash这个脚本会逐个尝试ping 192.168.1.1 到 192.168.1.254 之间的所有IP地址,并打印出能够响应的设备IP。请根据你的实际网络环境修改子网部分(SUBNET变量)。请注意,进行网络扫描应当遵守相关法律法规和组织的网络使用政策,确保你有合法合理的理由执行此类操作,并尽量避免在生产环境中造成不必要的干扰。

相关推荐
小政同学4 小时前
【NFS故障】共享的文件无法执行
linux·运维·服务器
AI木马人5 小时前
3.【Prompt工程实战】如何设计一个可复用的Prompt系统?(避免每次手写提示词)
linux·服务器·人工智能·深度学习·prompt
ch3nyuyu5 小时前
Ubuntu(乌班图)基础指令
linux·运维·网络
minglie15 小时前
gcc编译器汇总
linux
挽安学长5 小时前
保姆级教程,通过GACCode使用Claude Code Desktop!
运维·服务器
firstacui6 小时前
MGRE实验
运维·服务器·网络
白菜欣7 小时前
Linux —《开发三件套:gcc/g++、gdb、make/Makefile 全解析》
linux·运维
何中应7 小时前
Grafana如何给列表设置别名
运维·grafana·监控
senijusene8 小时前
基于 imx6ull平台按键驱动开发:input子系统+中断子系统+platform总线
linux·驱动开发
MXsoft6188 小时前
运维的尽头,是把“救火”变成“算命”
运维