`
keepgo
  • 浏览: 15823 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

一个分析apache日志,统计ip访问,若某一ip访问次数超过规定值则自动发送短息给系统维护人员的shell

阅读更多

webpay曾出现有人恶意访问的问题,因而写了这个shell。该shell所读取的webpay。log就是apache系统所记录的日志。改shell会分析统计ip访问次数,若超过规定值,就会自动发信息通知系统维护人员。其中,移动短信功能是一个开源的飞信机器人程序,可Google之获取使用。短息发送一般延时不超过一分钟,居然比公司购买的短信平台还快。

 

webpay。log已用awk等命令预处理过了,处理前apache日志格式如下:

123.152.119.141 - - [28/Oct/2009:00:00:12 +0800] "GET /mLogin.do HTTP/1.1" 200 2666

处理之后格式webpay。log格式如下:

123.152.119.141 2009-10-28 00:00:12 /mLogin.do

 

分析处理webpay。log的shell如下:

 

#!/bin/sh
unus=50
declare -i n
declare -i t
t=0
n=0
m=$(cat webpay.log|wc -l)
cat webpay.sort| while read output;
do
  #echo $output
  countip=$(echo $output | awk '{ print $1}')
  ip=$(echo $output | awk '{ print $2 }' )
  t=$t+1
  echo "now read row: $t ; total row is: $m"

#判断ip访问统计数是否超过规定次数,并设置计数器  
if [ $countip -ge $unus ]; then
      n=$n+1
      echo "$n  --$ip --count:$countip greater than 50" 
fi

#当$t -eq $m表示已经读完文件最后一行,则可开始判断是否应该发短信警告,有超过50次访问的ip则发信息警告
if [  $t -eq $m  ]; then
     if [ $n -gt 0  ]; then
      string=("请注意,警告webpay共有$n个ip在规定时间内访问次数超过50次,查看更多此可疑ip信息请查result文件。发送三个人测试,系统发送时间:`date +%Y%m%d-%T`")
      #echo $string
      /opt/oracle/fection/fetion --debug --mobile=13450484855 --pwd=kigo1234 --to=13450484855,13660263413,13631387132 --msg-gb=$string
    else
      echo "no unusually ip found "
    fi
fi

done

 

 

0
0
分享到:
评论

相关推荐

    给自己发短信的Shell脚本利用飞信

    标题中的“给自己发短信的Shell脚本利用飞信”指的是使用Linux Shell脚本来通过中国移动的飞信服务发送短信给自己。这个方法通常适用于自动化任务或者在没有手机网络的情况下,通过电脑来提醒自己某些重要事件。 ...

    shell短信接口开发_shell发送短信验证码通知_shell短信demo示例.docx

    shell短信接口开发 Shell 发送短信验证码通知 Shell 短信 Demo 示例 一、shell 短信接口开发概述 Shell 短信接口开发是指使用 shell Scripting 语言来调用短信接口,实现发送短信验证码通知的功能。该接口类型为...

    详解Java分布式IP限流和防止恶意IP攻击方案

    Java 代码实现了一个access方法,用于判断 limitKey 是否超过了最大访问频次,并提供了一个unlimit方法,用于执行redis decr操作,在某些业务场景可以回退访问频次统计。 二、防止恶意IP攻击 防止恶意IP攻击是非常...

    FastreSolve日志分析系统源代码

    【FastreSolve日志分析系统源代码】是一款专门用于处理和分析日志数据的软件系统,其核心功能是高效地从海量的日志文件中提取有价值的信息,如性能指标、异常记录、用户行为等,帮助企业或组织提升运维效率,优化...

    自动发送短信(手机软件)

    在提供的文件“自动发送短信息.jar”中,我们可以推测这是一个已经封装好自动发送短信功能的Java应用程序。用户可能需要将其安装到支持Java的设备上,然后按照软件内的指南进行设置,以便自动发送短信。不过,具体的...

    自动批量发送短信

    在Android平台上,自动批量发送短信是一项实用的功能,尤其在需要向多个人群发消息时,可以大大提高效率。本文将深入探讨如何实现这个功能,并提供相关的技术知识点。 首先,要实现批量发送短信,我们需要理解...

    日志统计项目

    在实际项目中,"LogStatistics"可能是一个具体的日志统计工具或模块,它实现了上述的一些功能,帮助开发者和运维人员更有效地管理和分析日志数据。了解并掌握这些知识点对于优化Java应用程序的运行和维护具有重要...

    WinCC报警自动发送短信功能

    **WinCC报警自动发送短信功能**是指在WinCC系统中,当特定的报警条件被触发时,系统自动将这些报警信息以短信的形式发送给指定的人员。这种方式能够确保关键信息及时传递给相关人员,以便他们能够迅速采取行动。 ##...

    c#写的短息发送系统。

    标题中的“c#写的短息发送系统”表明这是一个使用C#编程语言开发的短信发送应用程序。C#是一种广泛用于构建Windows桌面应用、Web应用以及移动应用的面向对象的编程语言,由微软公司开发并推广。在这样的系统中,C#...

    [其他类别]MooPHP日志分析系统 v1.0_parselog.zip

    5. **报警与通知**:当某些条件满足时,如错误数量超过阈值,系统可以自动发送警报,通过邮件、短信或其他通信方式通知管理员。 6. **性能优化**:由于日志文件可能非常大,因此处理速度和内存使用是关键考虑因素。...

    vb-短信发送系统

    短信发送系统可能包含一个或多个类,如`SMSClient`(短信客户端)和`SMSServer`(短信服务器),用于封装不同的功能,如连接、发送、接收短信。 2. **网络通信**:VB中可以使用`System.Net.Sockets`命名空间中的`...

    msg短信发送系统

    "msg短信发送系统"是一个基于PHP开发的短信发送平台,主要功能是实现通过程序化的方式发送短信到指定的手机终端。这个系统对于企业或者服务提供商来说,尤其在验证码验证、通知服务、营销推广等方面有着广泛的应用。...

    ASP访问短信猫或手机发送短信

    7. **错误处理和日志记录**:在ASP代码中,应添加适当的错误处理机制,以便在发送失败时捕获错误并记录日志,这对于调试和维护是至关重要的。 总之,ASP访问短信猫或手机Modem发送短信涉及串口通信、AT命令操作以及...

    e语言-易语言IP自动更新

    标题“e语言-易语言IP自动更新”表明我们要讨论的是使用易语言实现的一个功能,即IP地址的自动更新。 在现代网络环境中,动态IP地址分配是一个常见的需求,尤其在企业网络中,为了节约有限的公网IP资源,通常会使用...

    Apache_STORM日志分析探索.pdf

    Apache Storm是一个开源的分布式实时计算系统,用于处理大量数据流的实时分析、分布式RPC、连续计算等。它在2011年由Nathan Marz和团队在Twitter创建,随后开源,并在2014年进入Apache基金会成为顶级项目。Storm可以...

    使用SMPP发送短信

    综上所述,使用SMPP发送短信是一个复杂的工程问题,涉及到网络编程、协议通信、系统设计、资源管理等多方面的知识。文档中所述的技术实现细节以及采用的设计模式和编程技术,都是为了提高短信发送的效率、稳定性和...

    短信发送依赖jar短信发送

    总的来说,通过这三个关键的Java库,我们可以构建一个可靠的短信发送功能,它能够适应不同的短信服务提供商,并具有良好的日志记录和错误处理机制。在实际开发中,可能还需要结合其他库或框架,如Spring、Quartz等,...

    Android系统源码短信收发流程分析

    Android 短信收发流程是 Android 系统源码中一个非常重要的模块,它负责处理短信的发送和接收过程。在这个流程中,涉及到多个组件和类别,包括 ComposeMessageActivity、WorkingMessage、TelephonyManager 等。下面...

    日志监控系统源码

    当日志内容触发某条规则时,系统会自动触发告警机制,通知相关人员。告警方式多样,如短信、邮件等,以便快速响应并解决问题。 Kafka作为一个高吞吐量、低延迟的消息中间件,常被用于日志处理系统中。它能高效地...

    邮件短信自动通知系统(转)

    综上所述,构建一个邮件短信自动通知系统是一项综合性的工程,涵盖了服务器管理、数据库设计、编程、接口集成等多个方面。只有全面理解和掌握这些知识点,才能开发出稳定、高效、符合需求的自动通知系统。

Global site tag (gtag.js) - Google Analytics