我的日志剖析之道:简略的Web日志剖析脚本

访客6年前关于黑客接单1312

长话短说,作业的原因是这样的,因为作业原因需求剖析网站日志,服务器是windows,iis日志,在网上找了找,github找了找,竟然没找到,看来只要自己着手锦衣玉食。
那么剖析办法我大致可分为三种:
1. 依据时刻:将恳求url按时刻段分类,那么咱们依据每个时刻段的url数量及进犯数量就能够大致判别出哪个时刻段有apt类型进犯,哪个时刻段是扫描器行为;
2. 依据进犯ip:正常的进犯必定会有恳求被记载(当然你要是有0day当我没说,正常的勘探总会有吧=。=!),然后每个ip去剖析;
3. 依据拜访恳求的状况码,也大致能够判别出行为。
规矩能够依据开源waf规矩,剖析扫描器写正则也能够,开源waf地址是
https://github.com/loveshell/ngx_lua_waf/tree/master/wafconf。
扫描器正则https://github.com/ *** arttang/w3a_SOCD的database里边有具体地址
https://github.com/ *** arttang/w3a_SOC/tree/master/db_sql。
Sql句子里边有想把它做的功用全一些,可是学python学习时刻也不是很长,写出来的代码也没有pythonic,会渐渐写的。现在分三个模块,一个日志归类模块命名为url.py,进犯剖析模块attac.py, ip地理位置查询模块ipfind.py,还有一个主函数。
日志归类模块url.py
import reimport osimport sysfrom datetime import datetime
dt = datetime.now()
date = str(dt.date())
loglist = []   #   iplist = []    #   ip计算urllist = []   #    url计算列表needlist = []   #    需求计算的errorlist = []   #    格局过错的列表ipdict,urldict = {},{} 
rizhi = str(input('请输入要剖析的日志文件名'))def find_log():
    print('>>>>>>>开端解析日志')
    with open(rizhi,'r',encoding='UTF-8',errors='ignore') as f:
        #loglist = f.readlines()
        for i in f.readlines():   #
            if i[0] != '#':
                b = re.split(' ',i)
                iplist.append(b[10])
                urllist.append(b[6])
                try:
                    needlist.append([b[10],b[1],b[5],b[6],b[15]])
                except:
                    errorlist.append(i)
    print('>>>>>>>日志解析结束')def count(iplist,urllist):    #计算ip url拜访量函数
    print('>>>>>>>开端剖析url与ip拜访量')
    global ipdict,urldict
    for i in set(iplist):
        ipdict[i] = iplist.count(i)
    for i in set(urllist):
        urldict[i] = urllist.count(i)
    ipdict = sorted(ipdict.items(),key=lambda d: d[1], reverse=True)   
    urldict = sorted(urldict.items(),key=lambda d: d[1], reverse=True)
    print(type(urldict))
    iplist = list(ipdict)
    urllist = list(urldict)
    ipdict,urldict = {},{}
    print('>>>>>url与ip剖析结束.......')
    return [iplist,urllist]def save_count():
    print('>>>>>>>正在保存剖析成果')
    ipname = 'ip-'+date+'.txt'
    urlname = 'url-'+date+'.txt'
    with open(ipname,'w') as f:
        for i in iplist:
            f.write(str(list(i))+'n')
    with open(urlname,'w') as f:
        for i in urllist:
            f.write(str(list(i))+'n')
    print('>>>>>>>剖析成果保存结束')
find_log()
[iplist,urllist] = count(iplist,urllist)
save_count()
iis日志和apache日志觉得都差不多,便是切开时分改一下就行了。

Iis日志大概是这样的,用pythonreadlines然后切开出来就好了。
这个url.py我加了个功用把ip拜访量及url拜访量排序输出出来所以有点慢,=.=没办法野路子哪里会什么算法。将地址,时刻,ip,状况码都扔进一个列表里就行了。

[1] [2] [3]  黑客接单网

相关文章

怎么高效使用你所“绑架”的HTTP会话?

HTTP会话绑架 HTTP是无状况的协议,为了保持和盯梢用户的状况,引入了Cookie和Session,但都是根据客户端发送cookie来对用户身份进行辨认,所以说拿到了cookie,就能够取得vic...

恣意用户暗码重置(五):重置凭据可暴破

在逻辑缝隙中,恣意用户暗码重置最为常见,或许出现在新用户注册页面,也或许是用户登录后重置暗码的页面,或许用户忘掉暗码时的暗码找回页面,其间,暗码找回功用是重灾区。我把日常浸透过程中遇到的事例作了缝隙成...

根据Golang打造开源的WAF网关

布景 在互联网职业,Google将安全做到基础设施里边,从来是各大公司学习的典范,在Web方面,经过GFE (Google Front-End) 一致对外发布,事务只需求在GFE挂号,GFE就会调取正...

黑客接单网:现在杀毒软件的现状为什么开始走下坡路_杀毒软件的前世今生

黑客接单网:现在杀毒软件的现状为什么开始走下坡路_杀毒软件的前世今生

今天黑客接单网来和大家谈一谈我国杀毒软件的现状,现在大家打开杀毒软件大多数都会出现很多弹窗广告被大家说成流氓软件,为什么会出现这样的情况呢,我国网络安全也在走下坡路,我来和大家说说: 第...

ASP.NET网站管理工具装备办法

注意事项, 你登录到期2003时的用户名,及其相关权限,添加到 sql server C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/CONFIG/mach...

短网址安全浅谈

何谓短网址(Short URL)?望文生义,便是形式上比较短的网址,当时首要是凭借短网址来替代原先冗长的网址,便利传输和共享。短网址服务也便是将长网址转化为短网址的服务,这种服务在便利了广阔网民的一起...