您的位置:首页 > 理论基础 > 计算机网络

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展示在界面上。

大致就是如此。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: