1.不是自己构造IP头吗?这个SOCKADDR_IN有什么用?
2.一个Raw Socket能不能既接受数据,也发送数据,还是要建立两个Raw sock进行数据双向传输?

解决方案 »

  1.   

    1.构造IP头是可以的,但是发送不一定按照这个IP头送,按照你发送的地址送,也就是MAC是目标主机,但是IP不是目标主机那样
    2.可以啊
      

  2.   

    我现在也在有疑问呢
    我用原始套接字实现了sniffer
    但好象只能捕获到发往本机的数据包
    而本机发出的数据包却很难得到
    是否也需要两个套接字呢??
      

  3.   

    原始套接字在一些机子上运行是有点奇怪,而且跟系统相关,一般在win2000下运行才会有sniffer
    到发出去的包,而且好像有些网卡捕获不到发出去的包,所以这个问题也很难保证
      

  4.   

    完全同意 iorikingdom(iori),利用raw_socket有很高的丢包率,我曾经测试过。
    本机的包一般很少得到,事实如此,不是你的程序的问题