zoukankan      html  css  js  c++  java
  • python socket发送魔法包网络唤醒开机.py

    python socket发送魔法包网络唤醒开机.py

    现在的电脑应该都普遍支持有线网络的WOL了,支持无线网络唤醒的电脑,可能比较少.

    """
    python socket发送魔法包网络唤醒开机.py
    2016年3月20日 20:40:42 codegay
    
    _(:3」∠)_愿佛祖保佑我主永无BUG→_→
    
    参考不止以下文章,不能一一列出,均在此表示感谢:
    
    一个简单的python socket编程:
    http://openexperience.iteye.com/blog/145701
    
    wireshark维基百科 WakeOnLAN (WOL):
    https://wiki.wireshark.org/WakeOnLAN
    
    python wakeonlan库
    https://github.com/remcohaszing/pywakeonlan
    
    #WOL支持4-6位的密码 WOL数据包格式'FF'*6+MAC地址重复16次+密码
    """
    import socket
    import pprint
    import binascii
    """mac.txt的格式化为每行一个mac地址.如下任意形式的mac地址:
    FFFFFFFFFFFF
    44850004F4EE
    00-FF-AC-C0-BB-CA
    44-85-00-04-F4-EE
    44:87:01:04:F4:EE
    """
    f=lambda x:x.strip() if len(x.strip())==12 else x.strip().replace(x.strip()[2],"")
    mac=[f(r) for r in open("mac.txt")]
    print("目标MAC地址列表:")#mac.txt中的mac地址会被处理成FFFFFFFFFFFF无分隔符紧揍形式
    pprint.pprint(mac)
    ip="192.168.199.255"
    port=9
    ps="fsfafda" #password 
    ps=ps.encode()
    
    s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    s.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1)
    def sendto(r):
        s.sendto(r,(ip,port))
    
    #python利用or在列表解析中调用多个函数 http://www.cnblogs.com/gayhub/p/5277919.html
    [print("正在向:",r,"施法!") or sendto(binascii.unhexlify('FF'*6+r*16)+ps) for r in mac]
    s.close()
    input("打完收功,回车退出!")
    #2016年3月21日 19:54:36
    
    
  • 相关阅读:
    openlayers跨域设置后出现http status 500错误
    myeclipse 2014 闪退问题解决
    html跨域获取数据
    centos的nginx支持ssl
    Hadoop学习笔记---HDFS
    Nginx Web服务器配置
    用ReentrantLock和Condition实现线程间通信
    Android绘图机制和处理技巧
    自定义ViewPagerIndicator-视图指示器
    Docker学习笔记
  • 原文地址:https://www.cnblogs.com/gayhub/p/pythonwol.html
Copyright © 2011-2022 走看看