记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

HTTP 协议分析及其还原

2015-01-10 00:34

HTTP协议是目前使用最广泛的一种基础协议,这得益于目前很多应用都基于WEB方式,实现容易,软件开发部署也简单,无需额外的客户端,使用浏览器即可使用。

HTTP是一种无状态的协议,即HTTP协议本身没有保存请求方或者响应方当前的状态,客户端想要什么内容,就向服务器发送什么请求,服务器有相应的内容,则返回200,将内容发送给请求方,如果没有,则返回404,告诉他,我找不到你要的东西(你是不是请求错误?还是服务器本身删除?没有原因,只是告诉你,至少目前是没有)。当你过几分钟后再次请求相同的内容时,需要再次发起连接,重新发送请求。

服务器被动接收客户端的请求,然后将请求相应的内容返回给客户端,这时客户端在收到相应内容后可以发起终止连接,也可以在同一个会话中继续发送新的请求(需在第一次请求的时候在HTTP头部设置Keep-Alive属性)。

通常在做HTTP协议分析时,需要保存pcap文件中HTTP的协议数据(整个会话,而非单个报文),如下图:

http export selected packet bytes

如果需要保存如图中所示21号会话服务器返回的图片文件,在Wireshark重组会话结束报文上点击右键,选择“Export selected packet bytes”,然后根据提示保存相应的数据即可,但是如果重组会话失败,那么就无法通过Wireshark来完成我们的需求,如下图:

http_analyze2

在上图中,如果需要保存服务器返回的global.css文件,并不能像上面导出数据一样一键进行导出。因此我们写了一个HTTP协议分析软件exhttp,可以对指定PCAP文件HTTP进行完整的分析和还原,如下图:

http协议分析程序

exhttp使用有两种方式,其一是PCAP文件中所有HTTP会话内容进行分析和还原,并通过参数设置输出的内容写入文件,例如:

exhttp.exe -f sample.pcap -b -w d:\http_resotre\rprot-result

将sample.pcap文件所有的HTTP会话分析后并将内容写入到d:\http_resotre\rprot-result目录(写入的内容不包括请求内容,只只写入每个会话的HTTP请求头部、服务器返回HTTP头部和返回内容)。

第二种方式对指定会话返回的内如写入文件,使用方法是:

exhttp.exe -f 163.pcap -s 19428 -i 3 -o global.css

-s:会话的源端口

-i:会话中第N个HTTP请求

-o :保存的文件名。

将163.pcap文件中源端口为19428会话的第三个HTTP请求服务器返回的数据保存到global.css文件。

exhttp下载地址:

http://pan.baidu.com/s/1bn5XDSF

 

知识来源: www.iprotocolsec.com/2014/04/13/http-%e5%8d%8f%e8%ae%ae%e5%88%86%e6%9e%90%e5%8f%8a%e5%85%b6%e
想收藏或者和大家分享这篇好文章→复制链接地址

“HTTP 协议分析及其还原”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云