在一个局域网内部,如何编程实现网络唤醒功能,远端被控机器的网卡和主板支持网络唤醒功能,现在,我只知道需要通过 ARP 协议得到目标机器的以太网卡地址,然后发送一个特殊的数据帧,具体的编程方式还不明白,手头又没有合适的资料。最好有源码参考参考!谢谢!!!!!

解决方案 »

  1.   

    网上大部分都用AMD的Magic Packet 1.0,见
    http://www.51www.net/www/wlwx/21062003.htm
      

  2.   

    网络唤醒需要特殊的数据包,该数据包包含有连续6个字节的“FF”和连续重复16次的MAC地址。你可以用winpcap库函数或者ndis驱动编写以太网报文发送程序,发送上述数据包就可以了。
    winpcap可以从 http://winpcap.polito.it 下载
      

  3.   

    关注!
    不过请问楼上的那位,发送的数据包是什么包?TCP?UDP?ARP?还是其他的?
    请给于解答!
      

  4.   

    回应xuying:
    那帧头的包类型代码字段填什么呢?
    0x0800 ? 0x0806 ? 0x0835 ?还是其他的?
      

  5.   

    其实我觉得大家在这边争论的是叫做毫无理由!为什么不自己做一个协议呢?自己写一个驱动程序,其实RAW模式在底层也不过是把网络设备成混杂模式而已!并且该函数只能访问到IP层,至于有人提到的winpcap,我以前用过,它饿原理也就是设置混杂模式,为什么不自己写一个呢?多省事?