用wincap捕获到了进入本机的HTTP包,通常一个HTTP响应都是一个网页数据,但回应是一包一包的发过来的
怎么将这些包组合成一个完整的网页?主要是做一个浏览内容分析的东西,比如看用户浏览的内容是否健康
如果不能,要怎么做更好?

解决方案 »

  1.   

    HTTP 的响应分为两部分:头[空行]实体
    你需要首先分析头:状态、数据类型、长度、编码...等
    然后才可能解析实体内容,比如返回的实体为 HTML,也可能有chunked,gzip之类的编码,还有字符集编码,不进行必要的处理,是不可能进行价值评判
      

  2.   

    去看看TCP协议吧分析TCP包中的SEQ字段,就知道哪些包是连续的
    从Syn握手到最后Fin包都记录下,然后拼接一下就行了
      

  3.   

    建议用Ethereal这个工具抓包
    相对好用的,很专业的
    抓到包后,右键菜单中选择“Follow TCP Stream”
    就能用ASCII码显示整个http的请求应答文本了。
    http是纯文本的嘛
      

  4.   

    LZ,你知道怎么从wincap抓到的包里过滤出用户访问的网页地址不?