#!/usr/bin/env python #coding:utf-8 def open_file(file_name): res={} with open(file_name) as f: for line in f: tmp=line.split(' ') # print tmp ip,url=tmp[0],tmp[6] # print ip,url 以元组的形式存到列表中 res[(ip,url)]=res.get((ip,url),0)+1 return sorted(res.items…
介绍了Python统计日志中每个IP出现次数的方法,实例分析了Python基于正则表达式解析日志文件的相关技巧,需要的朋友可以参考下 本脚本可用于多种日志类型 #-*- coding:utf-8 -*- import re,time def mail_log(file_path): global count log=open(file_path,'r') C=r'\.'.join([r'\d{1,3}']*4) find=re.compile(C) count={} for i in log:…
package com.demo.conf; import ch.qos.logback.classic.pattern.ClassicConverter; import ch.qos.logback.classic.spi.ILoggingEvent; import java.net.InetAddress; import java.net.UnknownHostException; /** * 配置日志中显示IP */ public class IPLogConfig extends Cla…
logresolve是一个解析Apache访问日志中IP地址的后处理程序. 为了使对名称服务器的影响降到最低,logresolve拥有极为自主的内部散列表缓存, 使每个IP值仅仅在第一次从日志文件中读出时才被解析一次. 此程序从标准输入设备上获得需要解析的Apache日志文件, 其中,IP地址必须在每行的开始处,行中其余信息必须以空格分隔. 概要 logresolve [ -s filename ] [ -c ] < access_log > access_log.new 选项 -s file…
脚本内容: import matplotlib.pyplot as plt # nginx_file = '10.6.11.91_access.log-2018-12-27' ip = {} #筛选nginx日志文件中的IP with open(nginx_file) as f: for i in f.readlines(): s = i.strip().split()[0] lengh = len(ip.keys()) #统计每个IP的访问以字典存储 if s in ip.keys(): ip…
有时候需要分析出ORACLE日志监听中的IP信息,分享一个组合命令,Linux的shell下运行正常. grep "HOST=.*establish.*\* 0" listener.log | awk -F'*' '{match($3,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/); ip = substr($3,RSTART,RLENGTH);cnt[ip]+=1;last[ip]=$1;}END {for (i in cnt) printf "%-16…
#1.1分钟之内ip访问次数超过200次的,就给他的ip加入黑名单#需求分析: #1.读日志,1分钟读一次 #2.获取这1分钟之内所有访问的ip #3.判断ip出现的次数,如果出现200次,那么就加入黑名单 #4.因为每次读文件的时候,都是从文件开头开始读的,所以导致重复读了以前已经读过的 #5.要记录每次读完之后的,文件指针,再用seek移动到那个位置 tell() import time pin=0 while True: ips = [] fr = open('access.log') f…
# qianxiao996精心制作 #博客地址:https://blog.csdn.net/qq_36374896 import re def openjson(path): f = open(path, "r") data = f.read() f.close() return data def query(path): URL = [] IP = [] data = openjson(path) #print(data) #提取域名 url = re.findall(r'"…
#encoding=utf-8 class Tree(): def __init__(self,leftjd=0,rightjd=0,data=0): self.leftjd = leftjd self.rightjd = rightjd self.data = data class Btree(): def __init__(self,base=0): self.base = base #前序遍历 根左右 def qout(self,jd): if jd == 0: return print…
新建一个辅助排序列,用辅助列来扩展,辅助列公式如下: =TRIM(TEXT(LEFT(SUBSTITUTE(A1,".",REPT(" ",99)),100),"000")&TEXT(MID(SUBSTITUTE(A1,".",REPT(" ",99)),100,100),"000")&TEXT(MID(SUBSTITUTE(A1,".",REPT(&…