使用sock_raw开发的数据包捕获器,为什么抓取不了TCP的第一个SYN包?而且还有一个奇怪的问题,就是TCP的主动端的第三个包会在对方的应答包之前被捕获,不知道什么原因?
TCP的三方握手数据包如下:
第一个包:主动端(捕获不了)
第二个包:被动端(应答SYN,ACK标志)
第三个包:主动端(ACK)

解决方案 »

  1.   

    SYN包是三次握手时的第一个包,只出现一次,要在connnect调用的时候抓包
      

  2.   

    sniffer是可以的,会不会是程序的问题?
      

  3.   

    你另外一个抓包工具,可能不是用raw socket干的,
    你把你的raw socket程序换到其他机子试试看看
      

  4.   

    另外的程序肯定不是raw socket的,是基于WINPCAP的
    但我想应该不会影响到我抓TCP的包,而且原因是发现包的顺序变化了
    在其他机器上也是一样!
      

  5.   

    试试我写的
    http://community.csdn.net/Expert/topic/3907/3907144.xml?temp=.4755518