如题,我试过使用原始套接字没有实现。哪位高数知道在Windows平台下访问链路层的方法,即能读写数据。

解决方案 »

  1.   

    原始套接字只能得到原始的IP数据报,不能获取链路层数据。
    使用WinPcap,它使用Windows Protocol driver(和TCP/IP Driver在同一个层次)来获取数据包。
    http://www.winpcap.org/
      

  2.   

    没错,rawsocket只能获得IP层的数据。要获得链路层比较好的库是winpcap,当然也可以自己写驱动
      

  3.   

    Windows下有WinPcap、SharpPcap,Linux下有libcap
      

  4.   


    不好意思,看错了。RAW SOCKET只不过说你可以自己处理TCP/UDP/IP而已,如果需要从Ethernet DATA LINK层捕获数据,那么需要使用NIDS驱动编程了。