struct tcp_header *tcp_protocol;
tcp_protocol=(struct tcp_header *)(packet_content+14+20);
我看不懂第二句两个括号是什么意思,而且截获的数据包packet_content为什么要加上14+20,我刚刚起步学习C,高手指教啊!

解决方案 »

  1.   

    14+20是截获内容的偏移,看你的那个packet_content具体指向那里
      

  2.   

    估计是要先移动14+20个单位才是tcp_header结构的初始地址。
    先找本C++的语法书,看看指针和数组那一章。
      

  3.   

    我是这样理解的,14是以太头,20是IP头,对吗?
    这个问题倒不是很让我头疼?
    让我头疼的是这个
    http://community.csdn.net/Expert/topic/5431/5431828.xml?temp=.7508661