解析python中的http会话
问题描述:
我有一个pcap与许多tcp/http会话。 我希望能够将每个会话作为一个对象来处理。 理想情况下,我可以看到会话中的所有请求(get,post ...)以及对这些请求的所有响应。 每个请求和响应将有它的标头,字典等解析python中的http会话
,所以我想不便做这个: 进口不便
pcap_obj = smth.readpcap('pcap_file.txt')
for session in pcap_obj:
for req in session.requests():
print req.headers['Content-Type']
...
print req.body
for req in session.responses():
print res.status_code
print res.body
...
我知道Scapy的,并设法读取PCAP,并获得会议列表。 但这些都是原始的tcps,我需要重建和解析HTTP。 我已经看到,BaseHTTPServer可能有这样的东西,但它似乎主要是解析请求,并没有处理多个请求的会话。
任何想法?
答
我想我找到了解决办法:
https://github.com/vikwin/pcapfex
这个项目可以解析PCAP TCP会话, 并为每个会话提取物在本次会议发来的文件。
需要对dispatcher.py进行一些修改以适应需求,但这是使用多个软件包进行测试后可以找到的最佳选择。
寻找[python parse http pcap]首先命中(https://www.google.com/search?q=python+parse+http+pcap)给了我[pcap-parser 0.5.10](https: //pypi.python.org/pypi/pcap-parser)which *该模块解析pcap/pcapng文件,检索HTTP数据,并显示为文本。*。 –
感谢您的评论,安装了模块,但几乎没有帮助,而且似乎并不支持。 做了一个测试后,我得到了一个基本的pcap上的多个例外,所以这并不能真正满足需求。 – t0m9er
stackoverflow.com不是一个代码编写服务。我建议你仔细看看模块如何使用pcap来提取http,并根据你的需要调整模块或者根据你所学的内容编写你自己的模块。如果你在做这件事的时候遇到了更具体的问题,就问一个新的具体问题。但是在目前的状态下,这个问题太广泛了,并且没有足够的尝试来自己解决问题。 –