Результаты arpalert в json в python
Я пытаюсь создать программу, которая будет ловить подключения MAC-адреса. Для этого я беру /var/log/arpalert.log и создаю дикт. с результатами в формате JSON. Я новичок в Python.
На данный момент у меня есть журнал arpalert в файл.txt. Я беру этот файл и создаю словарь в другом файле. Я преобразовываю результат в формат JSON. Но проблема в "формате" моего словаря. В формате Json у меня есть вся информация об одном соединении в ключе и вся информация о другом соединении в значении ключа.
Но то, что я хочу, - это ключ "mac" с адресом в значении, ключ "ip" с адресом в значении и т. Д.
Это мой код сейчас:
from json import dumps, dump
from itertools import izip
def get_log(source, destination):
log = open(source, 'r')
fil_dest = open(destination, 'w')
txt = log.readline()
while txt:
fil_dest.write(txt)
txt = log.readline()
log.close()
fil_dest.close()
def to_json(source, destination):
fil_dest = open(destination, 'w')
with open(source, 'r') as lines:
txt = lines.readlines()
wanted_lines = txt[0:]
i = iter(wanted_lines)
dict_log = dict(izip(i, i))
dump(dict_log, fil_dest, sort_keys=True, indent=1)
lines.close()
fil_dest.close()
get_log('/var/log/arpalert.log', 'arpalert_strings.txt')
to_json('arpalert_strings.txt', 'json_conversion.txt')
и результат в формате JSON ("ключ": "значение")
"Oct 8 14:45:52 arpalert: seq=2, mac=a2:e5:68:3c:16:f1, ip=192.168.1.19, type=new, dev=p3p1, vendor=\"(null)\"\n": "Oct 8 14:45:52 arpalert: seq=3, mac=04:e8:ca:a8:6f:b8, ip=192.168.1.19, type=new, dev=p3p1, vendor=\"(null)\"\n",
"Oct 9 09:41:46 arpalert: Auto selected device: bluetooth0\n": "Oct 9 09:41:46 arpalert: [./capture.c 181] ioctl[19] : No such device\n",
Кто-нибудь может мне помочь, пожалуйста? Я пытался с регулярным выражением, но я потерял, и я схожу с ума!