zoukankan      html  css  js  c++  java
  • 监控线上服务的小脚本

    利用shell脚本定时扫描线上服务是否开启,发邮件到相关人的邮箱。需要安装nmap yum install nmap 。

    nmap [Scan Type(s)] [Options] {target specification}
    参数:
    [扫瞄类型]:主要的扫瞄类型有底下几种:
        -sT:扫瞄 TCP 封包已建立的连线 connect() !
        -sS:扫瞄 TCP 封包带有 SYN 标签的资料
        -sP:以 ping 的方式进行扫瞄
        -sU:以 UDP 的封包格式进行扫瞄
        -sO:以 IP 的协定 ( protocol ) 进行主机的扫瞄
    [扫瞄参数]:主要的扫瞄参数有几种:
        -PT:使用 TCP 里头的 ping 的方式来进行扫瞄,可以获知目前有几部电脑存活(较常用)
        -PI:使用实际的 ping (带有 ICMP 封包的) 来进行扫瞄
        -p :这个是 port range ,例如 1024-, 80-1023, 30000-60000 等等的使用方式
    [Hosts 位址与范围]:这个有趣多了,有几种类似的类型
        192.168.0.100  :直接写入 HOST IP 而已,仅检查一部;
        192.168.0.0/24 :为 C Class 的型态,
        192.168.*.*  :嘿嘿!则变为 B Class 的型态了!扫瞄的范围变广了!
        192.168.0.0-50,60-100,103,200 :这种是变形的主机范围啦!很好用吧!
    
    
    #!/bin/bash
    interface="http://192.168.7.63/monitor.php"
    server=(
    "192.168.1.244:8300:大厅db代理" 
    "192.168.1.244:6300:斗地主db代理" 
    "192.168.1.244:80:http服务器"
    )
    for str in ${server[@]}
      do
      IFS=':'
      arr=($str)
      nmap -sS ${arr[0]} -p ${arr[1]} | grep ${arr[1]} | grep open
      if [ $? -eq 0 ]; then
      else
        curl -d "ip=${arr[0]}&port=${arr[1]}&service=${arr[2]}" "$interface"
      fi
    done
  • 相关阅读:
    Sublime Text 3 安装及常用插件配置
    利用事件对象实现线程同步
    基于UDP(面向无连接)的socket编程
    基于TCP(面向连接)的socket编程
    基于TCP(面向连接)的socket编程
    响应式布局之媒体查询 @media
    (function($){})(jQuery)---Javascript的神级特性:闭包
    noConflict()
    $.extend()与$.fn.extend()
    Web中的宽和高
  • 原文地址:https://www.cnblogs.com/gaoqin31/p/5912796.html
Copyright © 2011-2022 走看看