Использование Python для поиска в файле PCAP и возврата ключевой информации о поисковом запросе

Если есть две даты, и вам нужен диапазон try

from dateutil import rrule, parser
date1 = '1995-01-01'
date2 = '1995-02-28'
datesx = list(rrule.rrule(rrule.DAILY, dtstart=parser.parse(date1), until=parser.parse(date2)))
0
задан SNIPERATI0N 19 March 2019 в 14:23
поделиться

1 ответ

pcaps имеют строгий формат, что позволяет разграничивать различные пакеты. В идеальном мире вам потребуется реализовать анализатор pcap, позволяющий получать каждый пакет один за другим для изучения. Вы использовали более тяжелый способ, который просто анализирует все как текст (который работает в вашем очень конкретном случае :-)), так что это то, что я буду документировать. Тем не менее, я действительно рекомендую вам разобраться в этом: гораздо проще, когда у вас есть каждый пакет как свой.

Если вам разрешено использовать библиотеку, некоторые из них, например scapy или dpkt, могут помочь вам разобрать pcaps.

Во-первых, вам нужно знать, что вы ищете. Ключевые слова - это параметры, связанные с HTTP-запросом. Когда вы анализируете его как файл, он совпадает с ? и & аргументами URL, например, в http://www.example.org/?param1=foo&param2=bar

В вашем случае, когда вы ищете Bing, вот список параметров, которые вы можете найти: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-web-api-v5-reference#query-parameters [1115 ]

Чтобы получить их, сначала нужно извлечь все URL. Для этого вы можете использовать регулярное выражение и встроенный модуль Python re. Ищите хороший онлайн, например вот тот, который я нашел для HTTP:

regex = r"/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/"

Тогда вам нужно re.search(regex, decoded), а затем использовать groups() (посмотрите это онлайн :-)) найти все URL. После этого вы сможете split("&") получить различные ключевые слова.

Для 3) и 4) вам нужно найти следующие HTTP ответы и запросы. Вот где реализация парсера pcap становится хитрой, так как вам нужно угадать, где они находятся в вашем фрагменте текста. Вы, вероятно, можете искать теги HTTP, как они есть до и после HTTP-запросов, но это грязно.

0
ответ дан Cukic0d 19 March 2019 в 14:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: