0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

esp8266如何破解wifi密码及详细步骤

姚小熊27 来源:网络整理 作者:佚名 2018-05-24 08:57 次阅读

ESP8266连接wifi

1、建立工程

我开发的时候比较早,用的是NONOS_v1.5.0的sdk,最新的v2.1.0的sdk烧录好固件后,上电会一直出Fatal exception 28的错误,搞了一天没弄清楚,所以用还留着的v1.5.3的sdk讲解,具体使用方法不会有很大改变,详细也可以参考API文档。

打开解压sdk包,将example文件夹下的IOT_Demo复制替换到app文件夹下,并将driver_lib/include/driver下的uart.h、uart_register.h复制到app/include下,driver_lib/driver下uart.c复制到app/driver下,同时将driver_lib下Makefile文件改名或者删除,懂makefile的朋友可以自行修改makefile文件否则会出现编译错误,目录结构如下。

esp8266如何破解wifi密码及详细步骤

我们主要修改的是user_main.c这个文件,将user_init()函数是程序入口,里的内容全删了

此外头文件修改为

#include “ets_sys.h”

#include “osapi.h”

#include “user_interface.h”

#include “uart.h”1234

user_rf_pre_init()这个函数不要删除,放着即可,这样user_main.c文件只有void user_rf_pre_init(void)、void user_init(void)这两个函数,以及4个头文件。

2、连接wifi

要连接wifi首先要指定要连接的wifi账号和密码,则需要定义两个变量来存放它们,同时还需要定义一个结构体用于存放:Wi-Fi Station 接口参数

struct station_config station_cfg;

uint8 ssid[]=“xxx”; //wifi名

uint8 password[]=“xxx”; //wifi密码123

新买到的模块默认是作为AP,这里我们需要将它修改作为Station,这样才能连wifi,这里我将这几个操作放入一个函数里面。

void ICACHE_FLASH_ATTR

user_set_station_config(void)

{

wifi_set_opmode(STATION_MODE); //设置为STATION MODE

os_strcpy(station_cfg.ssid, ssid); //ssid名称

os_strcpy(station_cfg.password, password); //密码

wifi_station_set_config(&station_cfg); //设置WIFI帐号和密码

}12345678

注:添加ICACHE_FLASH_ATTR宏定义是因为8266的iRam空间有限,所以上电启动时不能把所有数据都放入iRam,只有在需要用到的时候才载入,因此推荐一般的函数都加ICACHE_FLASH_ATTR。

这样我们就能把这个函数放到user_init()中了,如下所示。

void user_init(void)

{

uart_init(BIT_RATE_115200,BIT_RATE_115200); //设置波特率为115200

os_printf(“SDK version:%s\n”, system_get_sdk_version()); //打印sdk版本

user_set_station_config(); //set STATION config

//user_set_station_config()中调用wifi_station_set_config(&station_cfg)

//底层会自动连接对应路由,不需要调用 wifi_station_connect 来进行连接。

}12345678

编译通过后烧入固件就能查看效果了。

esp8266如何破解wifi密码及详细步骤

esp8266如何破解wifi密码及详细步骤

1、esp8266模块

首先,你要有一块esp8266模块,像这样的,最好是有底板的,带Micro口的,这些淘宝上都可以搜到的,我的就是淘宝上买的,大概30-40RMB左右,当然,如果你的动手能力比较强的话可以自己做底板。

2、将固件下载到esp8266中

在这里你需要下载两个东西,就是Flash下载工具和固件

Flash下载工具:http://espressif.com/zh-hans/support/download/other-tools

将自己的esp8266插到电脑上,确定连接没问题的话打开设备管理器看下自己的串口是多少。

将下载的Flash下载工具解压,打开ESPFlashDownloadTool_v3.4.9.2.exe,打开是这样的,选择esp8266 DownloadTool

esp8266如何破解wifi密码及详细步骤

在这里需要注意的几点是:

(1)固件选择之前下载的固件DNS.ino.ino.nodemcu.bin。

(2)地址输入0×00000(可能地址这一栏会出现红色的状况,导致无法烧入固件,此时把下载器关了重启下,然后把地址那栏清空再自己手动输入就好了)。

(3)这边需要将DoNotChgBin勾选起来,否则烧入固件后可能没有wifi,当然不同的板子可能不太一样,这个请大家自行测试。

(4)这边串口按照自己之前查的选择就行了,波特率115200就可以了。

其他设置按照红框里面的选择就行。

esp8266如何破解wifi密码及详细步骤

设置完这些后就点击START开始烧flash,烧完后如果模块正常的话电脑会多出来一个叫HH的wifi,这个wifi就是esp8266发出来的。

如果没有显示HH,就按下esp8266的RST键复位,等个几秒钟就会显示出来。此时你就可以连接HH了。wifi的密码为:m1234567

注:如果通过上面的方法还没有显示wifi的话,你可以试试擦除flash,擦除flash的方法请参考:http://bbs.eeworld.com.cn/thread-497588-1-1.html。在这里我就不详述了,擦完大概是下图的样子,然后重新按照上面的步骤烧flash就可以了。

esp8266如何破解wifi密码及详细步骤

3、用arduino上传web到esp8266

到arduino官网下载适合你自己系统的软件:https://www.arduino.cc/en/Main/Software

web源码:http://pan.baidu.com/s/1miywNT

web源码上传工具:http://pan.baidu.com/s/1o8cEc7

我的是Windows系统,arduino版本是1.8.4,安装完后打开工具——开发板——开发板管理器,此时会自动更新,过个数分钟更新完毕后(当然,如果用外网的话可能几秒钟就能解决),搜索eps8266,选择第二个,版本选2.2.0,然后安装。

esp8266如何破解wifi密码及详细步骤

将上面解压后的web源码上传工具的tools放到Arduino根目录里合并,然后返回以下界面,点击文件——新建,新建一个项目,将里面的代码清空,然后点击文件——保存,将项目保存到一个你能找到的位置,点击工具——esp8266 sketch data upload,会出现以下的提示,选择No,会发现新建的项目中多出来一个data文件夹,里面是空的,然后将上面下载的web源码\data里面的三个文件复制到这个文件夹里面。

esp8266如何破解wifi密码及详细步骤

然后再返回arduino,点击工具,开发板按照自己买的选择,端口选择自己的端口,其他设置如下图红框里面的。

esp8266如何破解wifi密码及详细步骤

设置完后点击esp8266 sketch data upload,这时不会出现提醒,开始上传web页面,等个1分钟左右esp8266上的蓝灯不闪烁了就表示上传完了。

然后电脑连接HH的wifi,浏览器输入192.168.1.1/backdoor.html就能进入web页面了,如下图,路由器型号选择通用型,然后输入你测试的wifi编号,点确定,电脑提示SSID伪造成功,手机就会发现出现了个和你测试的wifi一样的没有加密的wifi,原来的HH会不见了,8266的蓝灯常亮,手机连接那个wifi后过几秒会自动弹出路由器升级的页面,然后输入管理员密码,点击开始升级,此时你的esp8266会将管理员密码保存,升级完后,8266的灯就会灭掉。

esp8266如何破解wifi密码及详细步骤

电脑重新连接HH,进入web页面后管理员密码会在下面的红框这一块显示,这时,就表示获取密码成功了。

esp8266如何破解wifi密码及详细步骤

ESP8266设置热点步骤

将ESP8266设置为一个热点,可供其他设备连接并交换数据,主要使用的函数:WiFi.softAP(ssid, password, channel, hidden)。

参数说明:

ssid:Wifi热点名称,支持最大63个英文字符;

password:密码设置,可选参数,也就是可以没有密码,如果设定为WPA2-PSK;

channel:信道设置,可选参数,1-13,没有填写则默认为1;

hidden:是否隐藏SSID,可选参数,如果设置为true则隐藏。

ESP8266开启的默认IP地址为192.168.4.1,可以使用softAPConfig (local_ip, gateway, subnet) 函数进行修改。

参数说明:

local_ip:软热点的地址;

gateway:网关地址;

subnet:子网掩码。

程序流程:

1、连接NodeMCU板子到USB接口,打开Arduino IDE编辑器界面,选择好开发板型号和串口号。

2、在Arduino IDE的编辑器界面,开始部分添加头文件。

[cpp] view plain copy#include 《ESP8266WiFi.h》

3、声明各IP地址。

[cpp] view plain copyIPAddress local_IP(192,168,4,4);

IPAddress gateway(192,168,4,1);

IPAddress subnet(255,255,255,0);

4、配置软AP参数。

[cpp] view plain copyWiFi.softAPConfig(local_IP, gateway, subnet);

5、启动AP模式。

[cpp] view plain copyWiFi.softAP(“SoftAP001”,“123456789”);

6、获取IP地址。

[cpp] view plain copySerial.print(“Soft-AP IP address = ”);

Serial.println(WiFi.softAPIP());

下载完成后,在手机或笔记本上Wifi可以搜到设置的AP。

整体代码如下:

[cpp] view plain copy#include 《ESP8266WiFi.h》

IPAddress local_IP(192, 168, 4, 4);

IPAddress gateway(192, 168, 4, 1);

IPAddress subnet(255, 255, 255, 0);

void setup() {

// put your setup code here, to run once:

Serial.begin(115200);

WiFi.softAPConfig(local_IP, gateway, subnet);

WiFi.softAP(“SoftAP001”, “123456789”);

Serial.print(“Soft-AP IP address = ”);

Serial.println(WiFi.softAPIP());

}

void loop() {

// put your main code here, to run repeatedly:

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WIFI
    +关注

    关注

    81

    文章

    5297

    浏览量

    203679
  • ESP8266
    +关注

    关注

    50

    文章

    962

    浏览量

    44989
收藏 人收藏

    评论

    相关推荐

    ESP8266笔记-05.ESP8266 WIFI的使用

    ESP8266是怎么火起来的?毫无疑问就是他把WIFI模块的价格成功的打了下来,在我第一次看到ESP8266仅仅10元成本的开发板竟然可以连接WIFI时,知道对我幼小的心灵造成多大的震
    发表于 10-31 18:33

    esp8266加入到c51单片机单通道程序怎么写

    要将ESP8266模块加入到C51单片机的单通道程序中,您需要了解如何通过串行通信(UART)与ESP8266进行通信。以下是如何实现这一点的步骤和示例代码。 步骤 1:硬件连接 首先
    的头像 发表于 10-18 11:32 598次阅读

    ESP8266 太空人动画的 OLED 显示

    ESP8266 太空人动画的 OLED 显示
    的头像 发表于 10-08 15:06 278次阅读
    <b class='flag-5'>ESP8266</b> 太空人动画的 OLED 显示

    esp32和esp8266代码共用吗

    本文将介绍ESP32和ESP8266两款流行的微控制器在代码共用性方面的可能性与差异性。 一、引言 随着物联网威廉希尔官方网站 的飞速发展,越来越多的智能设备开始进入我们的生活。其中,ESP32和ESP82
    的头像 发表于 08-19 18:23 1149次阅读

    esp8266esp32区别是什么

    以下是关于ESP8266ESP32的主要区别: 处理器和架构 : ESP8266 :使用一个Tensilica L106 80MHz的处理器,属于Xtensa架构。 ESP32 :使
    的头像 发表于 08-19 18:16 5383次阅读

    esp8266不烧录可以使用吗

    ESP8266是一款非常流行的Wi-Fi模块,广泛应用于物联网项目中。然而,如果不进行烧录,ESP8266将无法正常工作。 1. ESP8266简介 ESP8266是一款由Espres
    的头像 发表于 08-19 17:28 803次阅读

    esp8266wifi模块怎么连接手机

    ESP8266 WiFi模块连接手机主要可以通过两种方式实现: 通过路由器连接(STA模式)和直接作为热点连接(AP模式) 。以下是两种连接方式的步骤: 一、通过路由器连接(STA模式) 配置
    的头像 发表于 08-19 17:27 2783次阅读

    请问ESP8266 Enterprise支持哪些协议?

    有谁知道ESP8266 WiFi Enterprise的EAP协议的详细信息? 像 EAP-MD5、EAP-PSK、EAP-TLS、EAP-TTLS、EAP-PEAP 一样?
    发表于 07-19 14:18

    是否可以使用esp8266创建热点并使用此热点设置新的wifi详细信息?

    我想知道是否可以使用 esp8266 创建热点并使用此热点设置新的 wifi 详细信息,在我的项目中,我需要使用移动应用程序进行无线通信和设置 wifi
    发表于 07-19 09:50

    如何使用ESP8266WiFi嵌入到设备中?

    我们考虑使用ESP8266WiFi 嵌入到我们的设备中。
    发表于 07-12 10:41

    esp8266无法收到usb-ttl发过来的串口数据如何解决?

    数据。 请问如何解决?谢谢~ 二、我这里连接的wifi 是通过web认证页面登陆用户名和密码才能连接上网的,请问esp8266如何能实现认证联网。
    发表于 07-09 06:43

    Esp8266未连接到WiFi路由器是怎么回事?

    我最近在 esp8266 mess 演示程序上做一个项目,我已经完成了编译和刷新过程,但 esp 设备没有连接到路由器,我已经在代码中提到了 WiFi 的用户名和密码,相关代码附在下面
    发表于 07-09 06:15

    ESP8266网络天气时钟OLED显示

    基于ESP8266实现网络获取天气和时钟并OLED显示
    的头像 发表于 06-28 04:46 1149次阅读
    <b class='flag-5'>ESP8266</b>网络天气时钟OLED显示

    国产低成本Wi-Fi SoC解决方案芯片ESP8266ESP8285对比差异

    ESP8266ESP8285对比差异 ESP8285相当于在ESP8266基础上多加了1/2MB Flash, ESP8285与
    的头像 发表于 05-17 11:44 1338次阅读
    国产低成本Wi-Fi SoC解决方案芯片<b class='flag-5'>ESP8266</b>与<b class='flag-5'>ESP</b>8285对比差异

    ESP8266实现TCP控制LED和设置WIFI密码

    =089e9c9189991f80be4b4886098da65b#reply151108474896 代码main.py,通过网页把它传入ESP8266 micropython固件中即可。如何传输自行查找资料吧。本人也忘记如何传输了。本文只是为了记录一下曾经写过的代码
    的头像 发表于 01-08 09:49 1835次阅读