ESP32整活天花板!打造“连了必后悔”的假WiFi,同事直呼上当[特殊字符]

ESP32整活天花板!打造“连了必后悔”的假WiFi,同事直呼上当😂

哈喽各位搞机达人!今天给大家带来一个零门槛、高趣味的ESP32整活项目——假WiFi AP趣味误导!不用复杂硬件,仅凭一块ESP32开发板,就能搭建一个“迷惑性拉满”的假WiFi热点,别人一旦连接,不管访问什么网站,都会跳转到你自定义的搞笑页面,堪称办公室、宿舍整活神器!

想象一下:同事看到“免费WiFi-速连(无密码)”“办公室隐藏WiFi-密码123456”这样的热点,兴冲冲连接后,打开浏览器却看到“恭喜你!成为第10086个连假WiFi的冤种😜”,那种错愕又好笑的反应,绝对能让你收获满屏欢乐~ 而且整个项目成本不到50块,新手也能1小时内搞定,话不多说,咱们直接开干!
请添加图片描述

一、先搞懂:这个假WiFi到底是怎么“坑人”的?

请添加图片描述

在动手之前,先给大家科普下核心原理,避免咱们只抄代码不懂逻辑~ 其实这个项目的核心就3个关键点,非常好理解:

  • 软AP模式:ESP32本身自带WiFi模块,支持两种模式——Station(客户端,比如连接家里的WiFi)和Soft AP(软AP,相当于自己变成一个WiFi热点)。咱们这个项目就是让ESP32工作在软AP模式,成为一个“假WiFi热点”,供别人连接。

  • DNS劫持:这是“坑人”的核心!当设备连接WiFi后,访问网站时会先通过DNS服务器解析域名(比如把www.baidu.com解析成百度的IP)。咱们在ESP32上搭建一个简易DNS服务器,劫持所有域名解析请求,不管对方要访问什么网站,都强制解析到ESP32自己的IP。

  • Web页面响应:在ESP32上搭建一个轻量级Web服务器,当对方的设备解析到ESP32的IP并发起访问时,Web服务器直接返回咱们提前写好的搞笑HTML页面,这样就实现了“连WiFi必跳坑”的效果!
    请添加图片描述

二、准备工作:硬件+软件清单(新手友好)

2.1 硬件清单(就1件!)

因为ESP32自带WiFi模块,无需额外添加任何配件,成本直接拉满性价比:

  • ESP32开发板一块(推荐ESP32-WROOM-32,价格30-50元,淘宝、拼多多随便买)

  • USB数据线一根(用于给开发板供电和上传代码)

  • 电脑一台(用于编写和上传代码)

小贴士:不用买WiFi模块、不用接继电器、不用额外供电,插上USB就能干活,新手完全不用怕接线出错!

2.2 软件清单(提前安装好,避免卡壳)

咱们用Arduino IDE来编写代码,需要提前安装好对应的软件和库:

  1. 安装Arduino IDE:官网(https://www.arduino.cc/en/software)下载对应系统版本(Windows/Mac/Linux),一路下一步默认安装即可。

  2. 添加ESP32开发板支持:打开Arduino IDE,依次点击「文件」-「首选项」-「附加开发板管理器网址」,在弹出的输入框中粘贴以下地址,点击「确定」:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    然后点击「工具」-「开发板」-「开发板管理器」,在搜索框中搜索“ESP32”,选择“esp32 by Espressif Systems”,安装最新版本(过程可能需要几分钟,耐心等待)。

  3. 安装两个核心库:这个项目需要用到「ESPAsyncWebServer」和「AsyncTCP」两个库,用于搭建异步Web服务器和处理TCP请求(异步模式更稳定,不会卡顿)。
    安装方法:打开Arduino IDE,依次点击「项目」-「加载库」-「管理库」,在搜索框中分别搜索“ESPAsyncWebServer”和“AsyncTCP”,找到对应库后点击「安装」即可。
    如果库管理器搜索不到(可能是网络问题),可以手动下载:

  • ESPAsyncWebServer:https://github.com/me-no-dev/ESPAsyncWebServer
  • AsyncTCP:https://github.com/me-no-dev/AsyncTCP
    下载后解压,放到Arduino的libraries文件夹中(Windows默认路径:我的文档\Arduino\libraries,Mac默认路径:文稿\Arduino\libraries),然后重启Arduino IDE即可。

三、核心步骤:代码编写+上传(逐行讲解,新手也能懂)

准备工作完成后,就进入最关键的代码环节了!我会把代码完整贴出来,并且逐行讲解核心逻辑,大家不用怕看不懂~

3.1 完整代码(直接复制可用)


#include <WiFi.h>
#include <ESPAsyncWebServer.h>
#include <DNSServer.h>

// ---------------------- 可自定义配置区 ----------------------
#define AP_SSID "免费WiFi-速连(无密码)"  // 假WiFi的名称(SSID),可随便改
#define AP_PASSWORD ""                     // 假WiFi的密码,空表示无密码
#define DNS_PORT 53                        // DNS默认端口,不用改
// -----------------------------------------------------------

DNSServer dnsServer;                          // 创建DNS服务器对象
AsyncWebServer server(80);                    // 创建Web服务器对象,监听80端口(HTTP默认端口)

// 自定义的搞笑HTML页面(别人访问时看到的内容)
const char* prankHtml = R"HTML(
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>你被整了!😜</title>
    <style>
        body { 
            background-color: #f7f381; 
            text-align: center; 
            padding-top: 50px; 
            font-family: "Microsoft YaHei", sans-serif;
        }
        h1 { 
            color: #e63946; 
            font-size: 40px; 
            margin-bottom: 30px;
        }
        p { 
            font-size: 24px; 
            color: #1d3557; 
            line-height: 1.8;
        }
        .prank-img {
            width: 250px;
            height: 250px;
            margin: 20px auto;
            border-radius: 50%;
        }
    </style>
</head>
<body>
    <h1>恭喜你!🎉</h1>
    <p>成为第 10086 个连假WiFi的冤种!</p>
    <img class="prank-img" src="https://img.icons8.com/fluency/96/000000/grinning-face-with-smiling-eyes.png" alt="搞笑表情">
    <p>这是ESP32整活项目,别慌~</p>
    <p>想知道怎么实现的?关注我,下期教你!</p>
</body>
</html>
)HTML";

void setup() {
    Serial.begin(115200);  // 初始化串口,波特率115200(用于调试)
    
    // 1. 启动ESP32的软AP模式,创建假WiFi热点
    WiFi.softAP(AP_SSID, AP_PASSWORD);
    // 打印ESP32的AP IP地址(调试用,一般默认是192.168.4.1)
    Serial.print("假WiFi已开启,AP IP地址:");
    Serial.println(WiFi.softAPIP());
    
    // 2. 配置DNS劫持:所有域名(*)都解析到ESP32的AP IP
    dnsServer.start(DNS_PORT, "*", WiFi.softAPIP());
    Serial.println("DNS劫持已启动,所有域名将解析到ESP32!");
    
    // 3. 配置Web服务器:所有未匹配的请求(即访问任何网站)都返回搞笑页面
    server.onNotFound([](AsyncWebServerRequest *request){
        // 发送200状态码(请求成功),返回HTML内容
        request->send(200, "text/html", prankHtml);
        // 串口打印访问日志(调试用,看谁连接了)
        Serial.print("有人中招!访问设备IP:");
        Serial.println(request->client()->remoteIP());
    });
    
    // 启动Web服务器
    server.begin();
    Serial.println("Web服务器已启动,等待冤种连接...");
}

void loop() {
    dnsServer.processNextRequest();  // 持续处理DNS解析请求(必须放在loop中)
    delay(10);  // 轻微延时,避免占用过多资源
}
    

3.2 代码逐行讲解(核心逻辑不迷路)

我把代码分成3个核心部分讲解,大家理解后可以随意修改,打造专属整活效果:

(1)自定义配置区:改WiFi名称超简单


#define AP_SSID "免费WiFi-速连(无密码)"  // 假WiFi的名称,比如改成"老板的监控WiFi"
#define AP_PASSWORD ""                     // 密码为空表示无密码,也可以设为"123456"增加迷惑性
#define DNS_PORT 53                        // DNS默认端口,不用改

这部分是最容易修改的,比如把SSID改成“办公室隐藏WiFi-密码123456”“连我送100G流量”,别人看到后更容易上钩~ 密码可以留空(无密码),也可以设置简单密码,降低警惕性。

(2)搞笑HTML页面:自定义“坑人”内容

代码中的prankHtml变量就是别人访问时看到的页面,支持HTML+CSS,大家可以随意修改:

  • 改文字:把“成为第 10086 个连假WiFi的冤种!”改成“哈哈哈哈,你被整了!”“叫我一声哥,就告诉你怎么退出去”等。

  • 加图片:把src里的图片地址换成搞笑表情包、动图(比如网上找的“冤种”表情包、熊猫头动图),注意图片地址要能直接访问(推荐用icons8、斗图网等免费图片链接)。

  • 加音效:在HTML中添加<audio autoplay><source src="音效地址" type="audio/mpeg"></audio>,打开页面时自动播放“你被整了!”“老板来了!”等语音,效果更炸裂。

  • 改样式:修改style里的背景色(background-color)、文字颜色(color)、字体大小(font-size),打造专属风格。

(3)核心功能区:启动AP+DNS劫持+Web服务

这部分是项目的核心,负责启动假WiFi、劫持DNS、返回页面,逐行解释如下:

  1. WiFi.softAP(AP_SSID, AP_PASSWORD);:启动ESP32的软AP模式,创建指定名称和密码的WiFi热点。

  2. dnsServer.start(DNS_PORT, "*", WiFi.softAPIP());:启动DNS服务器,监听53端口(DNS默认端口),将所有域名(*表示通配符)都解析到ESP32的AP IP(默认是192.168.4.1),这就是DNS劫持的核心代码。

  3. server.onNotFound(...):当Web服务器收到未匹配的请求(也就是用户访问任何网站时,因为DNS劫持解析到了ESP32,而ESP32没有对应的网站服务,就会触发这个回调),此时返回我们自定义的prankHtml页面。

  4. server.begin();:启动Web服务器,开始监听80端口(HTTP默认端口)。

  5. dnsServer.processNextRequest();:在loop中持续处理DNS解析请求,必须保留,否则DNS劫持无法生效。

3.3 代码上传:一步到位

代码编写完成后,就可以上传到ESP32开发板了,步骤如下:

  1. 用USB数据线连接ESP32开发板和电脑,打开Arduino IDE。

  2. 选择对应的开发板:点击「工具」-「开发板」-「ESP32 Arduino」,选择「ESP32 Dev Module」(如果你的开发板是其他型号,选择对应的型号即可)。

  3. 选择端口:点击「工具」-「端口」,选择连接ESP32的串口(Windows一般是COMx,Mac一般是/dev/tty.usbserial-xxx)。

  4. 点击Arduino IDE右上角的「上传」按钮(右箭头图标),开始上传代码。上传过程中开发板上的LED会闪烁,等待几分钟,直到下方状态栏显示“上传成功”即可。

注意:如果上传失败,可能是这两个原因:① 开发板型号或端口选择错误;② USB驱动未安装(可以下载CH340驱动安装,大部分ESP32开发板用的是这个驱动)。

四、效果展示:见证“冤种”诞生的时刻!

代码上传成功后,ESP32会自动启动假WiFi热点,接下来就可以测试效果了,步骤超简单:

  1. 打开手机/电脑的WiFi设置,找到我们自定义的WiFi名称(比如“免费WiFi-速连(无密码)”),连接它(无密码直接连,有密码输入设置的密码)。

  2. 打开任意浏览器,访问任何网站(比如百度、微信、淘宝、抖音等)。

  3. 奇迹发生!不管访问什么网站,都会跳转到我们自定义的搞笑页面,手机端、电脑端都能生效~ 可以看看同事连接后的反应,绝对笑料十足!

另外,我们还可以打开Arduino IDE的串口监视器(点击右上角的放大镜图标),波特率选择115200,就能看到调试信息:包括ESP32的AP IP地址、有人连接时的设备IP,方便我们查看谁中招了~

五、整活进阶:这些玩法让效果更炸裂!

基础效果实现后,我们还可以玩出更多花样,让整活更有创意:

5.1 自定义SSID:增加迷惑性

分享几个超有迷惑性的SSID,大家可以直接用:

  • “办公室隐藏WiFi-密码123456”(最经典,同事大概率会试)

  • “连我送100G流量-限今日”(利用贪念,上钩率超高)

  • “老板的监控WiFi-请勿连接”(反向心理,越不让连越想连)

  • “隔壁工位的秘密WiFi-别让他知道”(增加神秘感)

5.2 进阶HTML页面:互动感拉满

把HTML页面改成互动形式,比如添加按钮,点击后显示更搞笑的内容:


<button onclick="alert('哈哈,你还真点了!冤种实锤~')" style="font-size:20px; padding:10px 20px; background:#e63946; color:white; border:none; border-radius:5px;">点击查看退出口径</button>

点击按钮后会弹出提示框,让整活效果更有趣~ 还可以添加倒计时、跳转链接(比如跳转到另一个搞笑页面)等。

5.3 定时切换SSID:防被识破

添加代码让ESP32每隔一段时间自动切换WiFi名称,比如10分钟切换一次,避免被同事识破:


// 定义多个SSID,存到数组中
String ssids[] = {"免费WiFi-速连", "办公室隐藏WiFi", "连我送流量"};
int currentSsidIndex = 0;
unsigned long lastChangeTime = 0;
const unsigned long changeInterval = 600000;  // 10分钟切换一次(单位:毫秒)

void loop() {
    dnsServer.processNextRequest();
    
    // 定时切换SSID
    if (millis() - lastChangeTime > changeInterval) {
        currentSsidIndex = (currentSsidIndex + 1) % 3;  // 循环切换3个SSID
        WiFi.softAP(ssids[currentSsidIndex].c_str(), AP_PASSWORD);  // 重新启动AP
        Serial.print("已切换SSID为:");
        Serial.println(ssids[currentSsidIndex]);
        lastChangeTime = millis();
    }
    
    delay(10);
}

六、重要提示:整活有度,安全第一!

这个项目纯属私人娱乐,大家一定要注意以下几点,避免惹麻烦:

  • 仅限私人场合使用:用于办公室、宿舍和朋友之间的趣味互动即可,不要在公共场合(比如商场、地铁、公园)大规模使用,避免干扰他人正常网络使用。

  • 禁止恶意用途:仅用于趣味误导,不得用于劫持他人网络、窃取个人信息、传播不良内容等违法违规行为,否则后果自负(违反《网络安全法》等相关法律法规)。

  • 尊重他人意愿:如果对方表示反感,立即停止整活,不要过度纠缠,避免影响人际关系。

  • ESP32供电稳定:如果想长时间使用,可以用移动电源给ESP32供电(5V输出),避免电脑关机后项目停止。

七、总结:ESP32整活的快乐,谁玩谁知道!

请添加图片描述

这个假WiFi AP整活项目,不仅成本低、易实现,还能让你深入了解ESP32的WiFi功能、DNS原理和Web服务器搭建,堪称“边玩边学”的典范~ 新手可以从基础版本开始,熟悉后再尝试进阶玩法,比如添加语音播报、联动其他传感器(比如人体感应,有人靠近时自动切换SSID)等。

如果你在制作过程中遇到问题,或者有更有趣的整活思路,欢迎在评论区留言交流~ 关注我,下期给大家带来更多ESP32整活项目,比如语音怼怼机、人体感应关灯整蛊器等,咱们一起用技术制造快乐!

最后,祝大家整活愉快,冤种…哦不,朋友多多!😂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值