重新组装pcap跟踪以恢复HTTP级别数据

时间:2011-08-26 21:42:32

标签: python http pcap tcpdump

我有tcpdump跟踪,我想从中恢复重组HTTP请求和响应。有没有一个很好的工具来做到这一点。如果python解决方案不可用,Python首选但愿意编写包装器。

3 个答案:

答案 0 :(得分:2)

Bro执行强大的TCP流重组,并以与端口无关的方式解析各种应用层协议。也就是说,如果您的跟踪包含任何非标准HTTP端口上的HTTP流量,Bro会检测到它。

Bro的HTTP分析器完全满足您的需求:它接收TCP流并将其解构为HTTP标头和主体,用于请求和响应。只需运行Bro并查看http.log

bro -r trace.pcap
less http.log

Bro还附带了Python绑定,这意味着,您可以将所有HTTP事件发送到自定义Python脚本以进行单独处理。

答案 1 :(得分:0)

您可能正在寻找tcpreplay

为了吸引你的python敏感度,你可能还想看看Scapy

答案 2 :(得分:0)

##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
}

这是一个在端口80上显示tcp流重组有效负载的脚本。您可以通过bro -i iface_name this_script.bro运行。这有助于您分析所提出的请求