wireshark还原HTTP数据
2012-06-15 19:27
211 查看
转自:http://1.guotie.sinaapp.com/?p=40
wireshark的HTTP协议分析代码大部分在epan/dissectors/packet-http.h(c)文件中,数据组装还原用到了epan/reassemble.h(c)文件中的函数。
当然,连接跟踪是tcp的基础,连接跟踪代码在epan/stream.h(c)文件中。
dissect_http_message基本流程如下:
is_http_request_or_reply()——是否是HTTP request或response头部
req_resp_hdrs_do_reassembly()——如果头部所有数据都在这个报文中,可以开始解析,否则,等待更多数据到来组装;这里面有对chunked进行分析,只有当所有数据都传输完毕,或者没有更多的chunk时,dissect_http_message才会继续往下走,解剖协议。
下面的事情就是解开http header,如果传输方式为chunked,把每个chunked块拼装在一起;如果content-encoding是gzip或deflate,尝试解压缩数据,最后把数据提交给data handle展示在界面上。
大致就是如此。
wireshark的HTTP协议分析代码大部分在epan/dissectors/packet-http.h(c)文件中,数据组装还原用到了epan/reassemble.h(c)文件中的函数。
当然,连接跟踪是tcp的基础,连接跟踪代码在epan/stream.h(c)文件中。
dissect_http_message基本流程如下:
is_http_request_or_reply()——是否是HTTP request或response头部
req_resp_hdrs_do_reassembly()——如果头部所有数据都在这个报文中,可以开始解析,否则,等待更多数据到来组装;这里面有对chunked进行分析,只有当所有数据都传输完毕,或者没有更多的chunk时,dissect_http_message才会继续往下走,解剖协议。
下面的事情就是解开http header,如果传输方式为chunked,把每个chunked块拼装在一起;如果content-encoding是gzip或deflate,尝试解压缩数据,最后把数据提交给data handle展示在界面上。
大致就是如此。
相关文章推荐
- NetAnalyzer笔记 之 九 使用C#对HTTP数据还原
- wireshark找到与http请求对应的响应数据
- wireshark提取数据,RGB值还原图片
- C#对HTTP数据还原
- Flex与.NET互操作(四):使用HttpService、URLReqeust和URLLoader加载/传输数据
- Java发送http POST,GET,并获取返回数据
- mongodb安装Windows服务、数据备份还原、数据失效、建立索引、主从配置
- 生成100万条8位不重复数据的示例--来自http://blog.csdn.net/zjcxc/archive/2006/08/20/1099215.aspx
- oralcle数据误更新还原操作
- WebClient HttpWebRequest从网页中获取请求数据
- $http.jsonp跨域获取Java后台Servlet 数据
- HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效。
- 再谈HTTP Post XML数据
- 【原创】免费申请SSL证书【用于HTTPS,即是把网站从HTTP改为HTTPS,加密传输数据,保护敏感数据】
- flex和后端的数据交互(一)--XML和HTTPService
- 通过WireShark抓取iOS联网数据实例分析
- Navicat Premium还原SqlSever数据(MDF及LDF格式)
- HTTP 错误 500.19 请求的页面的相关配置数据无效 解决办法
- 后端接收不到AngularJs中$http.post发送的数据的问题
- Flex与.NET互操作(四):使用HttpService、URLReqeust和URLLoader加载/传输数据