我编写了一个简单的Python脚本,它解析日志并在行等于mac地址时打印字符串。
我的下一步是将日志文件解析为txt文件。
有没有办法为接入点的每个mac地址创建一个变量,这样当它解析成文本文件时,它不会显示mac地址,它会显示AP名称和用户名?
这是一个示例行
[2014-07-22 10:21:06,821] <inform_stat-3> WARN event - [event] User[78:a3:e4:3b:bd:3d] roams from AP[dc:9f:db:1a:60:64] to AP[dc:9f:db:1a:2d:95] on "channel 11(ng)"
我的代码目前如下
for line in open("system.log"):
if "e4:98:d6:27:4c:b6" in line:
print line
答案 0 :(得分:0)
从词典开始:
dd = {'78:a3:e4:3b:bd:3d' : 'Joe Smith',
'dc:9f:db:1a:60:64' : 'Server1',
'dc:9f:db:1a:2d:95' : 'Server1'}
dat = '[2014-07-22 10:21:06,821] <inform_stat-3> WARN event - [event] User[78:a3:e4:3b:bd:3d] roams from AP[dc:9f:db:1a:60:64] to AP[dc:9f:db:1a:2d:95] on "channel 11(ng)"'
aps = []
for elem in dat.split():
if elem.startswith('User['):
uname = dd.get(elem[5:-1], 'Unknown')
if elem.startswith('AP['):
aps.append(dd.get(elem[3:-1], 'Unknown'))
现在你应该有足够的信息打印到文本文件