пересобрать трассировки pcap для восстановления данных уровня HTTP - PullRequest
0 голосов
/ 27 августа 2011

У меня есть трассировки tcpdump, из которых я хочу восстановить, пересобрать HTTP-запросы и ответы. Есть хороший инструмент для этого. Python предпочитает, но готов написать оболочку, если решение Python недоступно.

Ответы [ 3 ]

2 голосов
/ 23 марта 2012

Bro выполняет надежную повторную сборку потока TCP и анализирует различные протоколы прикладного уровня независимо от порта.То есть, если ваша трассировка содержит HTTP-трафик на каких-либо нестандартных HTTP-портах, Bro обнаруживает его.

Анализатор HTTP Bro делает из коробки именно то, что вам нужно: он берет поток TCP и деконструирует его в HTTPзаголовки и тела, как для запросов, так и для ответов.Просто запустите Bro и посмотрите на http.log:

bro -r trace.pcap
less http.log

Bro также поставляется с привязками Python, а это означает, что вы можете отправлять все HTTP-события в ваш собственный скрипт Python для отдельной обработки.

0 голосов
/ 10 июня 2017
##this_script.bro##
@load-sigs /usr/local/bro/share/bro/policy/frameworks/signatures/detect-payload.sig 
global x: string = "";

redef tcp_content_delivery_ports_orig += {[80/tcp] = T};
event tcp_contents(c: connection, is_orig: bool, seq: count, contents: string)
{
x += contents;
}

event signature_match(state:signature_state, msg:string, data:string)
{
print fmt(msg);
print data;  
}

event bro_done()
{
print x;    #reassemble payload
}

Это скрипт, который отображает поток tcp повторно собранных полезных нагрузок на порт 80. Вы можете запустить bro -i iface_name this_script.bro. Это поможет вам проанализировать сделанный запрос

0 голосов
/ 27 августа 2011

Вы, вероятно, ищете tcpreplay .

Чтобы обратиться к своим чувствам Python, вы также можете посмотреть на Scapy .

...