由捕获到的数据包重组html页面技术[9]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 duxianghe 的 blog

在服务端向客户端发送数据之前,客户端先要向服务端请求传送什么文件,这在http请求报文中的请求行中指明,如:get       /dirabc/docu1.html  http/1.1,这里的docu1.html就是请求要传送的文件,docu1是文件名,而.html就是文件类型扩展名,所以要找到传送文件的文件名和文件类型,只要找到请求传送该文件的客户端请求报文。客户端请求报文的ack是服务端传送文件时的第一个包的seq。当要恢复(重组)一个文件时,根据选择的数据包很容易得到传送该文件时所用的ack,搜索最近接收到的所有包,并找到所有ack相同的包,这些包中,第一个(也是发送该文件的第一个包)的seq就是请求报文所有包的ack,由此可以得到请求报文,分析提取文件名和文件类型。

2.    如何将得到的包重组。

把所有属于传输要恢复的文件的包都找到后,重组该文件是一件简单的事情。在第一个包中除了含有文件内容外,还有更重要的是状态行和首部行信息(见上文http响应报文)。由首部行的信息可以得到继续恢复后面的包是否有意义,比如:在首部行中有一句401  not found,意味着后面即使有相同ack的包,也是一些没有意思的包;从首部行也可以分析出文件的类型,可以提示用户用什么程序打开恢复后的文件。

本文关键:数据重组,捕获,
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top