### 代码编程思路 #### 问题发现 1. 大文件处理速度过慢 解决方法:使用分块+多线程提高处理速度 2. 日志格式不同的问题 解决方法:收集几种常见的web日志进行适配 附加:收集安全设备导出日志进行分析适配 3. 单python文件进行处理导致错误频发 解决方法:分离各模块,单独进行分析最后再汇总 #### 分离模块 - 综合执行读取模块:日志读取数据分离与各模块调用协调 - 性能提速模块:分割文件,启动多线程 - 文档生成模块:先记录IP-访问次数,然后将文件传给后续程序填写 - 初步分析模块:主要分析UA和响应码;捕获分离出来的【IP-UA-响应码】进行初步分析,将爬虫从数据中分离出来,标注归属公司;同时,判断是否为恶意扫描IP - 次项分析模块:主要分析访问路径;结合上一步文件捕获分离出来的【IP-路径】进行第二步分析标记是否为合法爬虫(是否访问过robots.txt);根据路径中关键词判断IP是否为攻击者,攻击类型含有哪些 - 终项分析模块:结合所有剩余部分进行综合分析(内容待定) #### 表格构成 | IP | 属性 | 归属 | 访问次数 | 攻击类型 | UA | 响应码 | 备注 | | :-----:| :----: | :----: | :----: | :----: | :----: | :----: | :----: | | 127.0.0.1 | 爬虫 | 百度 | 10 |内容爬取|||| | 127.0.0.1 | 正常IP | 互联网 | 100 ||||| | 127.0.0.1 | 恶意攻击者 | 互联网 | 1000 |SQL注入,路径扫描|||| ### 附加模块 #### AnalysisBase.py 初步处理网站日志用以人工分析 #### 待定 筛选分析程序,人工筛选高频IP