如何从抓下来的数据包分析出具体的数据结构?大家能给一点儿提示吗?尝试比对数据包但是仔细看了,就是不知道应该才能看懂。有人说要靠猜加上经验,可是我连怎么看的方法都没有掌握,怎么猜都不知道,所以就是请问大家这个看的方法,请指点一下。谢谢

解决方案 »

  1.   

    呵呵。我和很想知道。
    我想把WinEncoder发往MediaServer的UDP包分析出来。
      

  2.   

    一般没有什么好的方法,只有你将端口和进程关联起来后,然后再用那个进程特有的数据结构,或是协议来解析相应的包
    比如,收到包,察看端口,如果是http协议的话,你就将数据填充进http头里,就可以了
    如果是smtp的话,也是一样,填充到相应的smtp头里
      

  3.   

    看看开源包分析软件ethereal的源码
      

  4.   

    Windump的源代码是最好用来学习的
      

  5.   

    看看那些应用协议、按照TCP\UDP数据报格式即可~~~~~~
    里面的内容如果没加密,就是编码表示、按规律解开就是……
      

  6.   

    windump和tcpdump都可以参考一下!
    http://windump.polito.it
      

  7.   

    包头要按照协议,填充结构体的各个域.应该是没有什么问题的.包里面的数据才是要靠经验的.例如要捕获密码,在捕获包的时候就应该有选择性的,例如捕获含有password的包.
      

  8.   

    谢谢大家.包头的结构,可以用一些工具分析出来,协议里也都有固定的格式,这不太难.
    现在我要做的就是分析包里的数据部分,分析出软件里具体的数据存储结构,
    然后自己写程序与服务器通讯,现在就是卡在这里,不知道它的数据结构,我就
    不能和服务器通信.windump这一类的应该都是对数据包的分析,只分析出数据包的具体格式,而我要
    在包数据部分再深入分析出软件的数据结构,这一类的工具还没有这个能力吧.howtotell(从何谈起) 高手,也说要靠经验,那能说一下这个经验的积累过程吗?由于是第一次做这一类的分析,我现在想到一个学习办法就是自己搭建简单的平台
    尝试不同的数据结构,然后抓包发析,积累经验,不知这是不是一个学习的好办法?有些术语可能不准确,还请谅解.
    请大家再指教,谢谢