2017-04-26 50 views
-1

我有一個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可能有這樣的東西,但它似乎主要是解析請求,並沒有處理多個請求的會話。

任何想法?

+0

尋找[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數據,並顯示爲文本。*。 –

+0

感謝您的評論,安裝了模塊,但幾乎沒有幫助,而且似乎並不支持。 做了一個測試後,我得到了一個基本的pcap上的多個例外,所以這並不能真正滿足需求。 – t0m9er

+0

stackoverflow.com不是一個代碼編寫服務。我建議你仔細看看模塊如何使用pcap來提取http,並根據你的需要調整模塊或者根據你所學的內容編寫你自己的模塊。如果你在做這件事的時候遇到了更具體的問題,就問一個新的具體問題。但是在目前的狀態下,這個問題太廣泛了,並且沒有足夠的嘗試來自己解決問題。 –

回答

0

我想我找到了解決辦法:

https://github.com/vikwin/pcapfex

這個項目可以解析PCAP TCP會話, 併爲每個會話提取物在本次會議發來的文件。

需要對dispatcher.py進行一些修改以適應需求,但這是使用多個軟件包進行測試後可以找到的最佳選擇。