zoukankan      html  css  js  c++  java
  • 主机存活检测、端口检测

    一、ping

      1.主机存活检测

    #!/bin/bash                                                                                                                                                                                 
    #****************************************************
    #Date:        2020-06-25
    #Author:      Damon Ye
    #FileName:   MailPing.sh
    #Description:The test script
    #****************************************************
    red="33[31m"
    green="33[32m"
    shutdown="33[0m"
    read -p "请输入你的ip地址:" ipadress
    ping -W1 -c3 $ipadress &>/dev/null
    if [ $? -eq 0 ];then
      echo -e "$ipadress is ${green}running${shutdown}......"
    else
      echo -e "$ipadress is ${red}stopped${shutdown}......"
    fi

      2.掩码24的局域网主机存活检测

    for ip in {1..254}
      do
        ping -w0.1 -W1 -c1 10.0.0.${ip} &>/dev/null
        if [ $? -eq 0 ];then
          echo -e "10.0.0.${ip} is ${green}running${shutdown}......"
        else
          echo -e "10.0.0.${ip} is ${red}stopped${shutdown}......"
        fi
    done

    二、改进——使用并行ping

    上面的脚本是依次测试地址的,每次测试积累下的延迟时间很多。我们可以利用并行方式来提高整体执行速度。

    要使ping并行执行,可以将do循环体放入( )&中,( )中的命令会在子shell中运行,而&会将其置入后台运行。

    **********************************
    red="33[31m"
    green="33[32m"
    shutdown="33[0m"
    
    for ip in {1..254}
      do
      (
        ping -w0.1 -W1 -c1 10.0.0.${ip} &>/dev/null
        if [ $? -eq 0 ];then
          echo -e "10.0.0.${ip} is ${green}running${shutdown}......"
        else
          echo -e "10.0.0.${ip} is ${red}stopped${shutdown}......"
        fi
       )&
    done
    wait  

    三、改进——使用工具fping

    fping可以为多个IP地址生成ICMP分组,然后等待回应,其运行速度要比上面的脚本快得多

    http://www.fping.org/

    fping选项说明:

      -a显示所有主机

      -u显示所有不可达的主机

      -g指定IP地址范围,格式为“IP地址/子网掩码”或者“IP地址范围”

      2>/dev/null用于将主机不可达所产生的错误信息输出到null设备

      <FileName从文件中传递一组IP地址

    [root@localhost package]# wget http://www.fping.org/dist/fping-4.2.tar.gz
    [root@localhost package]# tar  -xzvf fping-4.2.tar.gz 
    [root@localhost package]# cd fping-4.2/
    [root@localhost fping-4.2]# ./configure && make && make install
    [root@localhost fping-4.2]# fping -a -g 10.0.0/24
    10.0.0.1
    10.0.0.10
    10.0.0.2
    10.0.0.24
    10.0.0.21
    10.0.0.28
    10.0.0.22
    10.0.0.41
    10.0.0.50
    10.0.0.46
    ICMP Host Unreachable from 10.0.0.10 for ICMP Echo sent to 10.0.0.4
    ICMP Host Unreachable from 10.0.0.10 for ICMP Echo sent to 10.0.0.4
    ICMP Host Unreachable from 10.0.0.10 for ICMP Echo sent to 10.0.0.7
    ICMP Host Unreachable from 10.0.0.10 for ICMP Echo sent to 10.0.0.7
    ICMP Host Unreachable from 10.0.0.10 for ICMP Echo sent to 10.0.0.9
    ICMP Host Unreachable from 10.0.0.10 for ICMP Echo sent to 10.0.0.9
    ICMP Host Unreachable
    [root@localhost fping-4.2]# fping -a -g  10.0.0/24  2>/dev/null
    10.0.0.1
    10.0.0.10
    10.0.0.11
    10.0.0.22
    10.0.0.21
    10.0.0.24
    10.0.0.2
    10.0.0.28
    10.0.0.29
    10.0.0.41
    10.0.0.50
    10.0.0.46
    10.0.0.71
    [root@localhost fping-4.2]# fping -a -g  10.0.0.1  10.0.0.50  2>/dev/null
    10.0.0.1
    10.0.0.10
    10.0.0.24
    10.0.0.21
    10.0.0.22
    10.0.0.28
    10.0.0.2
    10.0.0.41
    10.0.0.50
    10.0.0.46
    [root@localhost package]# vim IPadress.txt
    10.0.0.1
    10.0.0.2
    10.0.0.3
    10.0.0.4
    10.0.0.5                                                                                                                                                                                     
    [root@localhost package]# fping -a  < IPadress.txt 
    10.0.0.1
    10.0.0.2
    ICMP Host Unreachable from 10.0.0.10 for ICMP Echo sent to 10.0.0.4
    ICMP Host Unreachable from 10.0.0.10 for ICMP Echo sent to 10.0.0.4
    ICMP Host Unreachable from 10.0.0.10 for ICMP Echo sent to 10.0.0.4
    ICMP Host Unreachable from 10.0.0.10 for ICMP Echo sent to 10.0.0.4
     

    四、端口检测

    #!/bin/bash
    #****************************************************
    #Date:        2020-06-25
    #Author:      Damon Ye
    #FileName:   PortLook.sh
    #Description:The test script
    #****************************************************
    shutdown="33[0m"
    green="33[32m"
    blue="33[34m"
    for ip in {1..254}
     do
       ping -c1 -W1 -w0.1 10.0.0.${ip} &> /dev/null
       if [ $? -eq 0 ];then                                                                                                                                                                     
         echo -e "${green}#################################################${shutdown}"
         echo "Host 10.0.0.${ip} runs on the following ports. "
         nmap 10.0.0.$ip | sed -n '/^PORT/,/^MAC/p'| sed -n '/^[0-9]/p'
         echo -e "${blue}#################################################${shutdown}"
         echo -e "
    
    "
       fi
    done
  • 相关阅读:
    Firefox做默认浏览器,点击QQ面板连接(QQ邮箱,空间),延迟很久很久才打开网页(Firefox 浏览器 延迟 打开 点击没反应) 拂晓风起
    web.xml filter执行顺序 java jsp web 拂晓风起
    JAVA 取得当前目录的路径/Servlet/class/文件路径/web路径/url地址 拂晓风起
    Javascript 检测 页面是否在iframe中 拂晓风起
    Spring 获取web根目录 (Spring线程获取web目录/路径/根目录,普通类获取web目录) 拂晓风起
    java输出字符串到多个输出流 同时输出到console终端,网页,文本 拂晓风起
    开启eclipse全部代码提示,自动完成(类似visual studio 2008) 拂晓风起
    java web 自定义错误页面 完整jsp错误页面代码(同时写错误日志) error.jsp 拂晓风起
    struts/Servlet,action转到jsp后,路径问题(struts2,jsp路径,action路径,action跳转,相对路径,绝对路径) 拂晓风起
    C# 14位日期型字符串yyyyMMddHHmmss转变为日期格式
  • 原文地址:https://www.cnblogs.com/ytdyz/p/13192696.html
Copyright © 2011-2022 走看看