我只是觉得奇怪。不应该是发ICMP,收ICMP么。或者 发IGMP 收IGMP,发IP 收IP为啥是发ICMP包,收到的却是IP包? 我只尝试过发ICMP协议的包

解决方案 »

  1.   

    ICMP协议在IP协议之上,你收到的包可能是IP协议封装的ICMP包。
    你看过IP包的内容吗?它的上层协议是什么?
      

  2.   


    是的,我收到的的确是用IP封装的ICMP包我只是觉得奇怪,为什么 接收完之后 ,给我的不直接就是一个ICMP包。收到的数据中,还要跳过IP Head部分才是 我所需要的ICMP包。我仅仅是奇怪而已,不明白为什么RAW_SOCKET为什么要这么设计  = =
      

  3.   

    RAW_SOCKET收到的包当然是IP包
    不是才奇怪
      

  4.   

    看 网络编程
    -----------------------------------------------
    http://www.wantsoft.com
    隐形者软件代码交流博客
    -----------------------------------------------