HTTPparsing器从pcap读取

我有一些本地接口的pcap数据,我想分析一下。 具体来说,我想要HTTP会话的内容。 我知道很多HTTP 统计工具,但我特别想重新组装每个完整的HTTP连接的内容

是否有任何合适的第四层包转储工具(Linux版),就像tcpdump等人为第三层工作一样,可以理解和操纵HTTP?

如果以前有问题,请随时redirect我,虽然我还没有find任何答案,但在SF。 谢谢!

我会怀疑tcpflow能够做好你的工作,这可以把一个pcap文件分解成它的组成部分。 例如,我只是做了以下testing:

 sudo tcpdump -i eth0 -n -s 0 -w /tmp/capt -v port 80 

然后重新加载你的问题,停止tcpdump ,然后跑:

 tcpflow -r /tmp/capt 

并获得了大约20个文件,每个包含一个HTTP请求或响应(如适用)。

另一方面,我通常只是去软选项,并打开我的捕获文件wireshark,其“分析 – >遵循TCPstream”模式是惊人的(颜色编码和一切 )。

顺便提一下,这两种工具都可以自己完成数据包捕获 – 您不必通过tcpdump为现有的数据包捕获提供数据。

如果您在分离HTTPstream量之后需要parsingHTTPstream量,这非常简单:HTTP协议非常简单。 在普通(非保持/stream水线)情况下,可以使用以下命令获取请求或响应头:

 sed '/^\r$/q' <connectionfile> 

而这要得到请求/响应的正文:

 sed -n '/^\r$/,$p' <connectionfile> 

(如果你愿意的话,你也可以通过这些sed命令pipe道)。

在keepalive连接,你需要开始得到一个脚本,但即使这样,大约20行脚本来处理这两个文件(A到B,B到A),提取头,读取内容长度,然后阅读身体 – 如果你正在做任何types的自动化处理,你将会编写代码来做这些事情,所以一些HTTPparsing不会增加工作量。