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

访客5年前关于黑客接单1235

长话短说,作业的原因是这样的,因为作业原因需求剖析网站日志,服务器是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]  黑客接单网

相关文章

反击爬虫,前端工程师的脑洞能够有多大?

关于一张网页,咱们往往期望它是结构杰出,内容明晰的,这样搜索引擎才干精确地认知它。 而反过来,又有一些情形,咱们不期望内容能被容易获取,比方说电商网站的交易额,教育网站的标题等。由于这些内容,往往是...

极客必知:iPhone备份番外篇-黑客接单平台

假如你长时刻混迹于暗码破解的第一线,那么就十分清楚破解相同内容的不同文件格局对破解的速度的影响是十分大的。例如,破解维护RAR文档暗码所需的时刻是破解具有相同内容的ZIP文档暗码的十倍,而破解保存在O...

我是怎么绕过Uber的CSP防护成功XSS的?

咱们好!在开端正式的内容之前,请答应我做个简略的毛遂自荐。首要,我要阐明的是我不是什么安全研究人员/安全工程师,切当的来说我是一名安全的爱好者,这始于两年前的Uber。我喜爱触摸新的事物,而且每天都在...

怎么经过乱用SSLTLS绕过Web应用程序防火墙

介绍 近些年来,Web安全现已逐步变成了IT安全范畴里十分重要的一个部分。Web运用的优势就在于开发人员能够在较短的时间内集成各种要害服务,并且保护难度也比传统的桌面端运用程序要低许多。除了规划新的...

运用 PtH 进犯 NTLM 认证的 Web 使用

本文具体介绍了在Windows/Active Directory环境中运用PtH进犯NTLM认证的web运用的具体进程。该技能细节来源于Alva ‘Skip’ Duckwall 和Chris Camp...