网站通常由多个对象组成(例如文本文件,几个png文件等),我想知道是否有可以捕获不同pcap文件中的个别请求/响应的工具?
例如,如果我浏览到http://somewebsite.com,而某些http://somewebsite.com由{index.html,image1.png,somestylefile.css,image2.png}组成,则该工具会捕获整个加载http://somewebsite.com但生成{index.html.pcap,image1.png.pcap,somestylefile.css.pcap,image2.png.pcap}
我不知道任何可以做到这一点的工具,或者它可能使用scapy或类似的东西?
答案 0 :(得分:0)
HTTP连接可以在同一TCP连接中有多个请求,并且浏览器会大量使用此HTTP保持活动状态。使用HTTP流水线技术,请求/响应甚至不需要在时间上完全分离,即,即使前一个请求的响应不存在,客户端也可以发送另一个请求。使用HTTP / 2,数据也可以交错,即在同一连接内同时传输多个响应。
在这种情况下,并不总是可以将数据捕获为单独的pcap文件,因为它们在数据包级别可能无法分离。但是,如果您不需要原始数据包边界,则可以为每个请求创建单独的pcap文件,这些文件不一定反映原始数据包但反映应用程序层,即与请求匹配的响应。
使用它的一个工具是httpflow.pl,它可以从现有的pcap(或直接嗅探)中提取HTTP / 1.x请求/响应对,并将每个请求/响应写入单独的pcap文件,就像它本来是一个单独的TCP连接。它还可以清理数据以便于分析,即解压缩和解压缩HTTP正文。