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
python socket发送魔法包网络唤醒开机.py的更多相关文章
- [Python] socket发送UDP广播实现聊天室功能
一.说明 本文主要使用socket.socket发送UDP广播来实现聊天室功能. 重点难点:理解UDP通讯流程.多线程.UDP广播收发等. 测试环境:Win10\Python3.5. 程序基本流程:创 ...
- Python Socket通信黏包问题分析及解决方法
参考:http://www.cnblogs.com/Eva-J/articles/8244551.html#_label5 1.黏包的表现(以客户端远程操作服务端命令为例) 注:只有在TCP协议通信的 ...
- socket 发送Ping包
参考链接: http://blog.csdn.net/zpxili/article/details/11542041 http://blog.csdn.net/cbuttonst/article/de ...
- python网络编程-socket发送大数据包问题
一:什么是socket大数据包发送问题 socket服务器端或者客户端在向对方发送的数据大于对方接受的缓存时,会出现第二次接受还接到上次命令发送的结果.这就出现象第一次接受结果不全,第二次接果出现第一 ...
- python socket+tcp三次握手四次撒手学习+wireshark抓包
Python代码: server: #!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:server.py import socket # 导入 socke ...
- python/socket编程之粘包
python/socket编程之粘包 粘包 只有TCP有粘包现象,UDP永远不会粘包. 首先需要掌握一个socket收发消息的原理 发送端可以是1k,1k的发送数据而接受端的应用程序可以2k,2k的提 ...
- 【Python】TCP Socket的粘包和分包的处理
Reference: http://blog.csdn.net/yannanxiu/article/details/52096465 概述 在进行TCP Socket开发时,都需要处理数据包粘包和分包 ...
- python socket实现文件传输(防粘包)
1.文件传输的要点: 采用iterator(迭代器对象)迭代读取,提高读取以及存取效率: 通过for line in file_handles逐行conn.send(): 2.socket粘包问题: ...
- Python 之网络编程之socket(2)黏包现象和socketserver并发
一:黏包 ###tcp协议在发送数据时,会出现黏包现象. (1)数据粘包是因为在客户端/服务器端都会有一个数据缓冲区, 缓冲区用来临时保存数据,为了保证能够完整的接收到数据,因此缓冲区 ...
随机推荐
- How-to: disable the web-security-check in Chrome for Mac
When I try to test one web app in coperate intranet, there is always some error like "Failed to ...
- 详解Paint的setShader(Shader shader)
一.概述 setShader(Shader shader)中传入的自然是shader对象了,shader类是Android在图形变换中非常重要的一个类.Shader在三维软件中我们称之为着色器,其作用 ...
- EL表达式概述
E L(Expression Language) 目的:为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法. ...
- 简明 Vim 练级攻略(转)
原文:http://coolshell.cn/articles/5426.html vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会 ...
- WPF x名称空间
X是映射XML名称空间时给他取的名字.X名称空间里面的成员是专门给XAML编译器看的.用来引导XAML编译器把XAML代码编译成CLR代码的,他是取的XAML的首字母X. XAML有自己的编译器,会吧 ...
- 奇怪的cab_xxxx_x文件
最近一段时间发现C盘老是提示空间紧张(显示为红色),之前清理了一次系统盘的\Windows\Temp文件夹,发现了很多文件名类似cab_xxxx_x的cab文件,大概占用了五六个G的空间,当时没太在意 ...
- [ASP.NET MVC]: - EF框架学习手记
1.EF(Entity Framework)实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架. 2.什么是ORM?ORM指的是面向对象的对象模型和关系型 ...
- Effective Java 59 Avoid unnecessary use of checked exceptions
The burden is justified if the exceptional condition cannot be prevented by proper use of the API an ...
- C语言杂谈(三)存储类别
本文讨论C语言中的存储类别,包括数据在内存的存储.变量的存储类别.函数的存储类别.生存周期.下图为计算机的存储空间,有寄存器和内存. 一.存储区域 1.寄存器:存放立即参加运算的数据. 2.系统区:存 ...
- 形如(function(){}).call()的js语句
研究新浪微博的自动登陆流程,其中涉及到它的加密算法脚本,其中有一段如下形式的代码: (function(){...}).call(name) 其中红色的....是函数的内部各种实现,name为一个对象 ...