当前位置: 首页 > 编程笔记 >

python实现扫描日志关键字的示例

宗政鸿志
2023-03-14
本文向大家介绍python实现扫描日志关键字的示例,包括了python实现扫描日志关键字的示例的使用技巧和注意事项,需要的朋友参考一下

我们在压力测试过程会收集到很多log,怎样快速从中找到有用信息呢?让python脚本帮我们做这部分工作吧!

废话不说,上代码

环境:win10 + python2.7.14

#-*- encoding: utf-8 -*-
#author : beihuijie
#version 1.1
import re
import sys
import os
import countTime
def getParameters():
 '''
 get parameters from console command
 '''
 with open(sys.argv[1], "r") as fread:
 lines = fread.readlines()
 keywords=[]
 for line in lines:
  temp = line.split(', ')
  keywords.append(temp)
 for i in range(0, (len(keywords[0]) - 1)):
  print ' Keyword = %s' % keywords[0][i]
 return keywords[0]
def isFileExists(strfile):
 '''
 check the file whether exists
 '''
 return os.path.isfile(strfile)
def Search(keyword, filename):
 '''
 search the keyword in a assign file
 '''
 if(isFileExists(filename) == False):
 print 'Input filepath is wrong,please check again!'
 sys.exit()
 linenum = 1
 findtime = 0
 with open(filename, 'r') as fread:
 lines = fread.readlines()
 for line in lines:
  rs = re.findall(keyword, line, re.IGNORECASE)
  if rs:
  #output linenum of keyword place 
  sys.stdout.write('line:%d '%linenum)
  lsstr = line.split(keyword)
  strlength = len(lsstr)
  findtime = findtime + 1
  #print strlength
  for i in range(strlength):
   if(i < (strlength - 1)):
   sys.stdout.write(lsstr[i].strip())
   sys.stdout.write(keyword)
   else:
   sys.stdout.write(lsstr[i].strip() + '\n')
  linenum = linenum + 1
 print '+----------------------------------------------------------------------------+'
 print (' Search result: find keyword: %s %d times'%(keyword, findtime))
 print '+----------------------------------------------------------------------------+'
def executeSearch():
 '''
 this is a execute search method
 '''
 ls = getParameters()
 start = countTime.getTime()
 parameter_number = len(ls)
 print 'Filename = %s ' % ls[parameter_number - 1]
 print '--------------------start search-------------------------'
 if(parameter_number >= 2):
 for i in range(parameter_number - 1):
  Search(ls[i], ls[parameter_number - 1])
 else:
 print 'There is a parameter error occured in executeSearch()!'
 end = countTime.getTime()
 print '+----------------------------------------------------------------------------+'
 print ' Total cost time: %s'%countTime.formatTime(end - start)
 print '+============================================================================+'
 
if __name__=='__main__':
 executeSearch()

countTime.py

#-*- encoding: utf-8 -*-
#author : beihuijie
#version 1.1
import datetime
import time
def getTime():
 '''
 return time is format of time(unit is second)
 '''
 return time.time()
def getCPUClockTime():
 '''
 return time is CPU Clock time
 '''
 return time.clock()
def formatTime(timevalue):
 '''
 format the time numbers
 '''
 hour = 0
 minute = 0
 second = 0
 if timevalue > 0:
 #count hour
 hour = timevalue // 3600
 remain = timevalue % 3600
 #count minute
 minute = remain // 60
 remain = remain % 60
 #count second
 second = round(remain, 3)
 return '%.0fh:%.0fm:%.3fs'%(hour, minute, second)
 
if __name__=='__main__':
 value = 134.45632
 print value
 print formatTime(value)
 

关键字及被扫描的日志路径信息,记录到文件中,以逗号+空格隔开,如,“, ”日志路径信息放到最后。

格式如下:

anr, dalvikvm: Could not find class 'android.app.usage., panic, C:\Users\BHJ\logcat1.log

执行结果:

以上这篇python实现扫描日志关键字的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Python 实现敏感目录扫描的示例代码,包括了Python 实现敏感目录扫描的示例代码的使用技巧和注意事项,需要的朋友参考一下 01 实现背景 1、PHPdict.txt,一个文本文件,包含可能的敏感目录后缀 2、HackRequests模块,安全测试人员专用的类Requests模块 02 实现目标 利用HackRequests模块,配合敏感目录字典PHPdict.txt,实现一个

  • 本文向大家介绍python实现的多线程端口扫描功能示例,包括了python实现的多线程端口扫描功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现的多线程端口扫描功能。分享给大家供大家参考,具体如下: 下面的程序给出了对给定的ip主机进行多线程扫描的Python代码 运行效果图 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python URL操作技巧总结》

  • 本文向大家介绍python 实现端口扫描工具,包括了python 实现端口扫描工具的使用技巧和注意事项,需要的朋友参考一下 以上就是python 实现端口扫描工具的详细内容,更多关于python 端口扫描工具的资料请关注呐喊教程其它相关文章!

  • 本文向大家介绍python 3.6.7实现端口扫描器,包括了python 3.6.7实现端口扫描器的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python 3.6.7端口扫描器的具体代码,供大家参考,具体内容如下 环境:python 3.6.7 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Unity3D Shader实现扫描显示效果,包括了Unity3D Shader实现扫描显示效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Unity3D Shader实现扫描显示的具体代码,供大家参考,具体内容如下 通过Shader实现,从左向右的扫描显示,可自定义扫描颜色、宽度、速度。 效果图如下 编辑器界面如下 Shader源码如下 代码调用如下 以上就是本文

  • 本文向大家介绍python实现多线程端口扫描,包括了python实现多线程端口扫描的使用技巧和注意事项,需要的朋友参考一下 一个简易的TCP端口扫描器,使用python3实现。 需求:扫描目标网站开放哪些端口号,将所有开放的端口号输出。 分析:使用socket连接,如果连接成功,认为端口开放,如果连接失败,认为端口关闭(有可能端口开放但连接失败,这里简单认为端口不开放) 使用到的库:socket,