我用stm32f429单片机初始化ESP8266后就能连接上热点,连上后,我突然关掉热点再打开,ESP8266就不能连了,只能按复位重新初始化,如果把初始化加入主循环占用太多时间。有没有一个返还信号,当断网时,ESP8266通过串口向单片机发送一个指令,主程序再写if语句判断已经断网了再进行重新初始化联网。
如果这个回答对你有一点帮助,请帮忙好评点赞收藏。
ESP8266可以通过发送AT指令或者其他自定义指令来告知单片机当前网络状态。你可以在主程序中轮询串口接收缓存区,判断是否收到了指定的指令,如果收到了,就重新初始化并连接WiFi网络。这种方法可以避免主循环过于占用时间,同时也可以保证ESP8266能够及时响应网络状态变化。
使用esp8266板子进行钓鱼攻击
先来准备一个esp8266的板子 然后烧录一个钓鱼的固件进去
打开烧录工具
打开烧录软件 将esp8266的板子连接电脑会多出个com的串口来 选择esp8266板子的串口
点击config 点击设置的图标按钮
选择这个钓鱼的固件
点击flash 开始烧录
等待烧录完成 就长按板子的rst 重启键 等待他闪动 松手 然后板子上面的灯就会一直亮着 证明 他已经开始工作了
该固件 是查找信号最强的wifi进行钓鱼攻击
钓鱼的流程是 截取认证 伪造一个双胞胎wifi 把原来的wifi 挤掉 然后连接上伪造的WiFi 连接上伪造的wifi 会跳转到一个钓鱼页面 这时候我们就可以监控 获取密码
现在来演示一下
插上esp8266 等待开始工作
打开xcom这个工具 对串口流量进行监控
选择串口为 esp8226板子的串口 频率要和板子的频率一样 不然会乱码
选择155200频率 然后
现在我们已经监听上了
手机现在已经连上了伪造的wifi 打开页面会发现 跳转到了一个钓鱼页面
我这里输入一个12345
输入提交完后 板子会停止运行 可以看到 板子上面的灯不亮了 接下来来查看他的密码
回到xcom
转载请注明:
Adminxe's Blog » 使用esp8266板子进行钓鱼攻击由于问题的描述中没有具体的代码和实现细节,以下是一个假设的问题解决方案:
void setup() {
serial.begin(9600); // 串口初始化
}
void loop() {
while (serial.available()) { // 如果串口接收到数据
char received = serial.read(); // 读取数据
// 进行处理
}
// 其他代码
}
void loop() {
if (WiFi.status() != WL_CONNECTED) { // 判断是否连接上WiFi
serial.println("disconnect"); // 发送断网信号
delay(5000); // 延时等待重连
WiFi.reconnect(); // 尝试重新联网
}
// 其他代码
}
void loop() {
if (serial.available()) { // 判断是否接收到ESP8266的消息
String message = serial.readStringUntil('\n'); // 读取消息
if (message == "disconnect") { // 判断是否为断网信号
// 重新初始化ESP8266联网,具体代码根据实际情况进行编写
}
}
// 其他代码
}
需要注意的是,在使用串口进行通信时,需要确保ESP8266和单片机的串口参数(包括波特率、数据位、停止位、校验位等)相同。同时,为了避免消息丢失和粘包等问题,可以在消息中添加特定的结束符,例如上述代码中的'\n'字符。