android firmware 利用UDP socket发送Magic Packet--python版本
android firmware 利用UDP socket发送Magic Packet--python版本
#!/usr/bin/python import sys, time
from struct import *
from socket import * src_ip = '192.168.1.108'
dst_ip = '192.168.1.105'
port = 2014 try:
# s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_RAW)
s = socket(AF_INET, SOCK_DGRAM)
s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
s.bind((src_ip, port))
except socket.error, msg:
print 'Socket could not be created. Error Code : ' + str(msg[0]) + ' Message ' + msg[1]
sys.exit() #wakeup pattern
ff_pattern = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
wakee_mac = [0x00, 0x03, 0x7F, 0x33, 0x11, 0x22]
secure_on = [0x08, 0x00, 0x27, 0x1d, 0x32, 0x51]
wakeup_identification = 'SECWOW'
reserve = [0x00, 0x00, 0x00, 0x00]
app_id = 0 #can be 0/1/2
passwd = '123456789' #len = 0~16
passwd_len = len(passwd) #pack_format = '8sBBBBBBBB' + str(passwd_len) + 's' + 'x' * (16 - passwd_len)
pack_format = 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB6sBBBBBB' + str(passwd_len) + 's' + 'x' * (passwd_len) user_data = pack(pack_format, ff_pattern[0], ff_pattern[1], ff_pattern[2], ff_pattern[3], ff_pattern[4], ff_pattern[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
wakee_mac[0], wakee_mac[1], wakee_mac[2], wakee_mac[3], wakee_mac[4], wakee_mac[5], \
secure_on[0], secure_on[1], secure_on[2], secure_on[3], secure_on[4], secure_on[5], \
wakeup_identification, \
reserve[0], reserve[1], reserve[2], reserve[3], \
app_id, passwd_len, passwd) while 1:
s.sendto(user_data, (dst_ip, port))
time.sleep(5)
android firmware 利用UDP socket发送Magic Packet--python版本的更多相关文章
- android firmware 利用UDP socket发送Magic Packet--c语言版本
android firmware 利用UDP socket发送Magic Packet 1 Magic Packet格式: 6个0xFF + 16个Dst Mac Address 2 代码需要设置目的 ...
- wireshark 抓包再利用TCP socket发送包里的payload是可以实现登陆的
用户密码可被批量破解 在用户使用手机端登录时,对数据进行抓包分析. 多次抓包分析后,可得到几个关键TCP数据包. 根据前面逆向编写出的解密算法,使用socket进行数据发包测试: 可以模拟APK进行用 ...
- 网络远程唤醒 WOL Magic Packet
Magic Packet Magic Packet白皮书介绍: The basic technical details of Magic Packet Technologyare simple and ...
- 网络远程唤醒 WOL Magic Packet【转】
转自:https://www.cnblogs.com/dcb3688/p/4608063.html Magic Packet Magic Packet白皮书介绍: The basic technica ...
- TCP/UDP Socket调试工具提供了TCP Server,TCP Client,UDP Server,UDP Client,UDP Group 五种Socket调试方案。
一.TCP通信测试: 1) 创建TCP Server: 选中左方的TCP Server, 然后点击”创建”按钮,软件弹出监听端口输入框 输入监听端口后,即创建了一个在指定端口上进行监听的TCP S ...
- Android(java)学习笔记80:UDP协议发送数据
UDP协议发送数据:我们总是先运行接收端,再运行发送端发送端: 1 package cn.itcast_02; import java.io.IOException; import java.net. ...
- 项目总结22:Java UDP Socket数据的发送和接收
项目总结22:Java UDP Socket数据的发送和接收 1-先上demo 客户端(发送数据) package com.hs.pretest.udp; import java.io.IOExcep ...
- Android(java)学习笔记20:UDP协议发送数据
1. UDP协议发送数据:我们总是先运行接收端,再运行发送端发送端: package cn.itcast_02; import java.io.IOException; import java.net ...
- 【Android开发—智能家居系列】(四):UDP通信发送指令
思路回顾 [1]手机连接WIFI模块 [2]UDP通信对WIFI模块发送指令,以和WIFI模块保持连接状态 [3]UDP通信对WIFI模块发送指令,让其搜索可用的无线网,返回WIFI列表 [4]发送指 ...
随机推荐
- NOIP2012 同余方程-拓展欧几里得
题目描述 求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解. 输入输出格式 输入格式: 输入只有一行,包含两个正整数 a, b,用一个空格隔开. 输出格式: 输出只有一行,包含一个正 ...
- C#开发Windows服务 附简单实例实现禁止QQ运行
本实例主要实现下面三个基本功能 1.C#开发windows服务 2.禁止QQ等程序运行 3.为windows服务创建自动安装程序 下面针对这三个基本功能进行实现 一.C#开发windows服务 Win ...
- webService访问加密
WebService加密,可以对 WebService设置访问用户名和密码,增强 WebService的安全性 使 WebService只能被授权用户使用. 具体实现步骤: 1. 定义一个 soaph ...
- redis:hash 数据类型
简介 Redis Hashes是字符串字段和字符串值之间的映射,所以它们是完美的表示对象(eg:一个有名,姓,年龄等属性的用户)的数据类型.新建一个hash对象时开始是用zipmap(又称为small ...
- druid的安装
最近想玩druid.druid的底层是fastbit索引的列式存储.采用分布式的zookeeper调度.实时大数据分析软件.主要针对OLAP操作. 搭环境搭环境.druid的核心成员成立了一个叫imp ...
- C语言 malloc calloc realloc alloc 在分配内存时的 区别
malloc : 向堆申请分配内存,不初始化 calloc : 向堆申请分配内存,初始化为0 realloc: 向堆申请分配内存,可调整大小 alloc : 向栈申请内存,不需手动释放
- Linux内核分析第二周学习总结:操作系统是如何工作的?
韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.函数调用堆栈 ...
- 一个比较完整的Inno Setup 安装脚本(转)
一个比较完整的Inno Setup 安装脚本,增加了对ini文件设置的功能,一个安装包常用的功能都具备了. [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相 ...
- (十二) 一起学 Unix 环境高级编程 (APUE) 之 进程间通信(IPC)
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- php SPL常用接口
在PHP中有好几个预定义的接口,比较常用的四个接口(Countable.ArrayAccess.Iterator.IteratorAggregate(聚合式aggregate迭代器Iterator)) ...