即时解码Linux上的HTTP机构?

我的愿望是监视我的服务器和浏览器之间的HTTP交stream。 目前,我使用本地主机,因为我正在开发应用程序。 我安装和使用tcpflow ,发现它非常有用,但响应的主体被encryption(没有https,我相信它是gzipped,如果我参考头)。 这是来自tcpflow -i lo -c -e的交换:

 127.000.000.001.59549-127.000.000.001.00080: GET /dom/test.html HTTP/1.1 Host: localhost Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36 Referer: http://localhost/ Accept-Encoding: gzip,deflate,sdch Accept-Language: fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4 127.000.000.001.00080-127.000.000.001.59549: HTTP/1.1 200 OK Date: Mon, 05 Oct 2015 03:44:53 GMT Server: Apache/2.2.22 (Ubuntu) Last-Modified: Mon, 05 Oct 2015 03:06:42 GMT ETag: "36031e-8e-52152cd86200d" Accept-Ranges: bytes Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 118 Keep-Alive: timeout=5, max=98 Connection: Keep-Alive Content-Type: text/html ...........Qt.w....qU.(......Q..)v\ 6..%. ...E..%.J.%i..J.`.....T;....|......E.}....>D.MR~J%Xq.!.J..PD... .r..0.... 

这里是HTML代码:

 <!DOCSTYLE html> <html> <head> <meta charset="utf-8"/> <title>Hello World!</title> </head> <body> <h1>Hello World!</h1> </body> </html> 

我想看到的回应是:

 ... Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 118 Keep-Alive: timeout=5, max=98 Connection: Keep-Alive Content-Type: text/html <!DOCSTYLE html> <html> <head> <meta charset="utf-8"/> <title>Hello World!</title> </head> <body> <h1>Hello World!</h1> </body> </html> 

我猜头条目Vary: Accept-EncodingContent-Encoding: gzip是我的问题的来源。 有没有什么办法摆脱这种混乱,并明确了解HTML代码? 我的意思是相当简单的方法? 实际上,我将无法控制使用Accept-Encoding: gzip,deflate,sdch的浏览器Accept-Encoding: gzip,deflate,sdch但出于debugging的目的,如果唯一的办法是设置浏览器请求没有编码/压缩,我可以忍受。

谢谢你的帮助!

使用Content-Encoding: gzip编码的Content-Encoding: gzip可以通过使用gzip -dpipe道内容来轻松解压缩。 对于deflate我不知道一个实用程序,但它可以用一些zlib编程。 SDCH不是那么容易的,因为要解压缩它,你需要访问用于压缩的字典,这可能是在你的数据包捕获的地方或无处。

Gzip也可能泄露也应该由wireshark透明地处理,以便您可以在那里看到解码的标题。 Net :: Inspect perl包提供的httpflow工具也可以解码gzip和deflate payload,也可以用来从pcap文件中提取HTTP请求/响应对,并将每个对保存为单个pcap文件有效载荷已解码。