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版本的更多相关文章

  1. android firmware 利用UDP socket发送Magic Packet--c语言版本

    android firmware 利用UDP socket发送Magic Packet 1 Magic Packet格式: 6个0xFF + 16个Dst Mac Address 2 代码需要设置目的 ...

  2. wireshark 抓包再利用TCP socket发送包里的payload是可以实现登陆的

    用户密码可被批量破解 在用户使用手机端登录时,对数据进行抓包分析. 多次抓包分析后,可得到几个关键TCP数据包. 根据前面逆向编写出的解密算法,使用socket进行数据发包测试: 可以模拟APK进行用 ...

  3. 网络远程唤醒 WOL Magic Packet

    Magic Packet Magic Packet白皮书介绍: The basic technical details of Magic Packet Technologyare simple and ...

  4. 网络远程唤醒 WOL Magic Packet【转】

    转自:https://www.cnblogs.com/dcb3688/p/4608063.html Magic Packet Magic Packet白皮书介绍: The basic technica ...

  5. TCP/UDP Socket调试工具提供了TCP Server,TCP Client,UDP Server,UDP Client,UDP Group 五种Socket调试方案。

    一.TCP通信测试: 1)   创建TCP Server: 选中左方的TCP Server, 然后点击”创建”按钮,软件弹出监听端口输入框 输入监听端口后,即创建了一个在指定端口上进行监听的TCP S ...

  6. Android(java)学习笔记80:UDP协议发送数据

    UDP协议发送数据:我们总是先运行接收端,再运行发送端发送端: 1 package cn.itcast_02; import java.io.IOException; import java.net. ...

  7. 项目总结22:Java UDP Socket数据的发送和接收

    项目总结22:Java UDP Socket数据的发送和接收 1-先上demo 客户端(发送数据) package com.hs.pretest.udp; import java.io.IOExcep ...

  8. Android(java)学习笔记20:UDP协议发送数据

    1. UDP协议发送数据:我们总是先运行接收端,再运行发送端发送端: package cn.itcast_02; import java.io.IOException; import java.net ...

  9. 【Android开发—智能家居系列】(四):UDP通信发送指令

    思路回顾 [1]手机连接WIFI模块 [2]UDP通信对WIFI模块发送指令,以和WIFI模块保持连接状态 [3]UDP通信对WIFI模块发送指令,让其搜索可用的无线网,返回WIFI列表 [4]发送指 ...

随机推荐

  1. 苹果手机制作gif图片

    前一段介绍了一款很好用的在模拟器上录制gif图片的工具licecap(地址:http://www.cnblogs.com/10-19-92/p/5593785.html), 但是licecap不能使用 ...

  2. (Hibernate进阶)Hibernate基本原理(一)

    在开始学hibernate之前,一直就有人说:Hibernate并不难,无非是对JDBC进一步封装.一句不难,难道是真的不难还是眼高手低? 如果只是停留在使用的层面上,我相信什么技术都不难,看看别人怎 ...

  3. Thinkphp源码分析系列–开篇

    目前国内比较流行的php框架由thinkphp,yii,Zend Framework,CodeIgniter等.一直觉得自己在php方面还是一个小学生,只会用别人的框架,自己也没有写过,当然不是自己不 ...

  4. 关于Function.prototype.bind

    bind()方法会创建一个新函数,称为绑定函数.当调用这个绑定函数时,绑定函数会以创建它时传入bind()方法的第一个参数作为 this,传入 bind() 方法的第二个以及以后的参数加上绑定函数运行 ...

  5. 多媒体(4):JPEG图像压缩编码

    (重要的事放前面)此JPEG的C++实现见 https://github.com/chencjGene/SoftEngineering/tree/master/JPEG 目录 多媒体(1):MCI接口 ...

  6. C# 队列集合的使用

    using System; using System.Collections.Generic; using System.Text; using System.Collections; namespa ...

  7. redis密码管理

    redis 默认密码是空,在应用中,通常需要设置redis的连接密码,可通过命名方式进行密码管理: 1.连接redis: [redis@hadooptest Downloads]$ cd redis- ...

  8. map,list

    ---恢复内容开始--- Map<String, List> map=new HashMap<String,List>() HashMap可以理解成是一对对数据的集合我暂时把L ...

  9. SQL性能优化(Oracle)

    首先要搞明白什么叫执行计划? 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录, ...

  10. java基础-java核心知识库

    本人从事java开发6年左右,主要从事互联网相关的开发,目前还是奋战在一线的码农,痛并快乐着.受互联网产品热潮的影响,关注高性能低成本架构,互联网开发框架,以下是我认为作为一个资深java程序员应该掌 ...