Результаты 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",

Кто-нибудь может мне помочь, пожалуйста? Я пытался с регулярным выражением, но я потерял, и я схожу с ума!

0 ответов

Другие вопросы по тегам