• Linux Shell列出网络中所有的活跃主机


    因为的的网段是 192.168.1.0/24 ,
    所以我只需遍历 192.168.1.1 到 192.168.1.255 之间的所有ip然后进行 ping 就可以了:

    test.sh:

    #!/bin/bash
    for ip in 192.168.1.{1..255} ;
    do 
        ping $ip -c 2 &> /dev/null ;
        
        if [ $? -eq 0 ];
        then 
            echo $ip is alive
        fi
    done
    

    结果如下:

    zifeiy@zifeiy-S1:~/文档$ bash test.sh 
    192.168.1.1 is alive
    192.168.1.3 is alive
    192.168.1.4 is alive
    192.168.1.6 is alive
    

    也可以修改成并行ping的:
    test.sh:

    #!/bin/bash
    for ip in 192.168.1.{1..255} ;
    do (
            ping $ip -c 2 &> /dev/null ;
            
            if [ $? -eq 0 ];
            then 
                echo $ip is alive
            fi
        )
        done
    wait
    

    在 for 循环中执行了多个后台进程,然后结束循环并终止脚本。
    wait命令hau等待所有的子进程结束后再终止脚本。

    也可以使用 fpingsudo apt-get install fping),他的速度更快,用法如下:

    fping -a 192.168.1/24 -g
    

    fping -a 192.168.1.1 192.168.1.255 -g
    

    (fping的用法暂时没有搞懂~)

  • 相关阅读:
    APP支付,后台支付宝生成预支付设置超时时间timeout_express无效,使用time_expire代替
    一些学习资料
    自连接
    模型成员
    模型查询
    模板
    管理站点
    视图
    设计模型
    搭建开发环境
  • 原文地址:https://www.cnblogs.com/zifeiy/p/9434119.html
Copyright © 2020-2023  润新知