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变量)。请注意,进行网络扫描应当遵守相关法律法规和组织的网络使用政策,确保你有合法合理的理由执行此类操作,并尽量避免在生产环境中造成不必要的干扰。

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