zoukankan      html  css  js  c++  java
  • 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的用法暂时没有搞懂~)

  • 相关阅读:
    C++中求类的大小
    BP神经网络
    感知机
    static和const关键字
    C++随笔(2)
    React表单元素的使用
    React可控组件与不可控组件
    React组件-mixin
    React-组件嵌套-子组件通过委托向父组件传值
    React事件属性
  • 原文地址:https://www.cnblogs.com/zifeiy/p/9434119.html
Copyright © 2011-2022 走看看