2016-07-01 12 views
0

У меня есть файл pcap для захвата пакетов (с использованием tcpdump), содержащий некоторые AVP. Я хотел бы проанализировать файл pcap и получить/получить AVP.Как разобрать и получить AVP в диаметре в python?

Я использую python3.5.1. Библиотека dpkt, по-видимому, хорошо поддерживает диаметр, но пока не доступна для python3. Я попытался преобразовать его с помощью скрипта 2to3-3.5, но преобразование не является полным и я ударяю unicode-ошибки при разборе pcap.

Я пытаюсь использовать scapy сейчас. Мне нужны некоторые справочные/примеры в том, как использовать scapy для:

  1. разобрать PCAP файл
  2. извлечения/синтаксического анализа AVP, из PCAP.

Любая помощь будет оценена по достоинству.

С уважением Шарада

+0

Вы можете прочитать pcap в scapy с помощью функции rdpcap. Затем вы можете проанализировать пакеты, используя одно из резюме(), show() или show2() в зависимости от того, что вам нужно. Я не знаком с пакетом диаметра, но вы можете взглянуть на это, сделав это: 'pcap = rdpcap (capture) для p в pcap: p.show()' Это покажет вам, как scapy видит это. Надеюсь, это поможет. – Noob123

+0

Я попробую и обновлю. Благодаря! – Sharad

+0

Если время обработки не имеет значения для вас, вы можете использовать pyshark на основе tshark). он может декодировать протокол диаметра. – Giac

ответ

0

Я хотел бы предложить вам использовать tshark. Используя tshark, вы можете преобразовать файлы pcap в текстовые файлы, содержащие интересующие вас AVP. После того, как у вас есть текстовый файл, я считаю, что было бы легко извлечь информацию с помощью python.

+0

Я проверил tshark раньше, но это не достаточно быстро. но если время обработки для вас не имеет значения (@sharad), вы можете использовать pyshark на основе tshark). он может декодировать протокол диаметра. – Giac

+0

Спасибо Rajeev, Giac. На данный момент я использую pyshark. – Sharad