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

相关推荐
鬼手点金3 小时前
ReAct 循环
linux·服务器·前端·javascript·react.js·前端框架
皓月盈江3 小时前
Linux Debian下STM32CubeProgrammer串口连接失败解决方案
linux·stm32·debian·串口下载·stm32f103c8t6·usb转ttl·stm32cubepro
EterNity_TiMe_3 小时前
Docker服务越装越多记不住端口?我用Fenrus把NAS里的常用入口整理成一个导航页
运维·人工智能·docker·ai·容器·cpolar
远方16094 小时前
108-ORA-00600 [kdsgrp1-qetlbr] 内部错误排查与 RMAN 块级恢复
大数据·linux·数据库·oracle
IT大白鼠4 小时前
AI SSH 运维助手 V13.0内部版七项私有新特性全解
运维·人工智能·ssh
yunwei375 小时前
eBPF 实例教程:BPF 动态指针处理可变长度数据
linux·后端·性能优化
TDTC_XQ5 小时前
模板类的写法
linux·c++
天蓝蓝的本我5 小时前
ollama外部无法访问.ollama.service 文件无法写入.ollama外部无法访问.
运维·网络
帷幕落秋5 小时前
经典命令场景与软硬链接
linux·运维
CCCCCCCCharlie5 小时前
深入解析I/O底层:文件描述符与缓冲区真相
linux·开发语言·c++·算法