当前位置: 首页 > news >正文

ESP8266发送WOL幻数据包实现电脑远程唤醒

计算机远程唤醒(Wake-on-LAN, WOL)

计算机远程唤醒(Wake-on-LAN,简称 WOL)是一种局域网唤醒技术,可以将局域网内处于关机或休眠状态的计算机唤醒至引导(Boot Loader)或运行状态。无线唤醒(Wake-on-Wireless-LAN,简称 WoWLAN)是 WOL 的扩展,利用无线网卡实现计算机的远程唤醒。

WOL 技术的基本原理

WOL 技术通过发送一个称为幻数据包(Magic Packet)的特殊网络数据包来实现远程唤醒。幻数据包是一个包含目标计算机 MAC 地址的广播帧。由于 MAC 地址的唯一性,网络中的设备可以唯一地识别并响应这个数据包。幻数据包通常使用无连接的传输协议(如 UDP),并通过端口 7 或 9 发送,但并没有严格的限制。

当网卡接收到与其 MAC 地址匹配的幻数据包时,它会向计算机的电源或主板发出信号,唤醒计算机。这一过程在数据链路层(OSI模型第2层)进行,通常使用广播地址在给定网络上广播幻数据包,而不依赖于 IP 地址(OSI模型第3层)。

幻数据包的构成

幻数据包的格式如下:

  • 开头是6字节的 255(FF FF FF FF FF FF)。
  • 紧接着是目标计算机的 48 位 MAC 地址,重复 16 次。

举例来说,假设目标计算机的 MAC 地址为 11 22 33 44 55 66,那么幻数据包的格式如下:

FFFFFFFFFFFF 112233445566 112233445566 112233445566 112233445566 112233445566 112233445566 112233445566 112233445566 112233445566 112233445566 112233445566 112233445566 112233445566 112233445566 112233445566 [可选的 6 字节密码]

WOL 技术的历史与发展

WOL 技术最早由英特尔和 IBM 于 1996 年 10 月成立的 Advanced Manageability Alliance 提出,并在 1997 年 4 月正式推出。随后,许多厂商也纷纷推出了各自的 WOL 技术标准。目前,绝大多数现代网卡都支持在低功耗模式下监听特定报文,如 ARP 请求。

幻数据包的基本限制
  • 需要目标计算机的 MAC 地址:幻数据包中必须包含目标计算机的 MAC 地址。
  • 不提供送达确认:发送幻数据包时无法确认其是否成功到达目标计算机。
  • 局限于局域网:在复杂网络环境中,通常需要子网定向广播地址,因为路由器不转发目的地址为有限广播地址的数据包。在局域网外唤醒局域网内的特定计算机,可以使用路由器的 DDNS 和端口转发。
  • 硬件支持:目标计算机的网卡和主板必须支持 WOL 技术。

ESP8266实现代码(Arduino):

#include <Wire.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
byte mac1[] = {0x74,0x56,0x3c,0x38,0xf2,0xfe};//替换为自己的电脑mac地址
byte preamble[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
IPAddress ip(255, 255, 255, 255); //幻数据包需要在局域网中广播发送 要控制的电脑的网段的255地址
//int pingResult;
WiFiUDP UDP; //建立一个WiFiUDP对象 UDPvoid sendWakeUp()
{UDP.beginPacket(ip, 7); //UDP发送到目标(IP,端口)UDP.write(preamble, sizeof preamble); //写入包头(FF,FF,FF,FF,FF,FF)for (byte i = 0; i < 16; i++){UDP.write(mac1, sizeof mac1);}Serial.println("唤醒主机");UDP.endPacket();
}

相关文章:

ESP8266发送WOL幻数据包实现电脑远程唤醒

计算机远程唤醒&#xff08;Wake-on-LAN, WOL&#xff09; 计算机远程唤醒&#xff08;Wake-on-LAN&#xff0c;简称 WOL&#xff09;是一种局域网唤醒技术&#xff0c;可以将局域网内处于关机或休眠状态的计算机唤醒至引导&#xff08;Boot Loader&#xff09;或运行状态。无…...

用一个ESP32S3-Zero把有线键盘变为无线

三脚猫最近一直琢磨&#xff0c;那些喜欢买剪线键盘&#xff0c;以及自制键盘瞎折腾的人都是怎么搞的。经过不懈努力&#xff0c;终于想明白除了直接的硬件一个个pin针的高低电压判断后转给蓝牙&#xff0c;拿到现成的古董剪线键盘还有一个方式其实是在usb host转发给蓝牙类似这…...

Redis 7.x 系列【3】多种连接方式

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Redis 版本 7.2.5 源码地址&#xff1a;https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. Redis Cli3. 可视化管理工具3.1 Redis Insight3.2 RedisDesktopManager 4. …...

数据结构(DS)C语言版:学习笔记(4):线性表

参考教材&#xff1a;数据结构C语言版&#xff08;严蔚敏&#xff0c;吴伟民编著&#xff09; 工具&#xff1a;XMind、幕布、公式编译器 正在备考&#xff0c;结合自身空闲时间&#xff0c;不定时更新&#xff0c;会在里面加入一些真题帮助理解数据结构 目录 2.1线性…...

Linux 命令大全

Linux 命令大全 Linux是一个强大的操作系统,它通过命令行界面提供了丰富的功能和灵活性。了解和掌握各种Linux命令对于系统管理员和开发者来说至关重要。本文将为您提供一个全面的Linux命令大全,帮助您更好地理解和使用Linux系统。 基础命令 ls - 列出目录内容。cd - 更改当…...

[华为北向网管NCE开发教程(6)消息订阅

1.作用 之前介绍的都是我们向网管NCE发起请求获取数据&#xff0c;消息订阅则反过来&#xff0c;是网管NCE系统给我们推送信息。其原理和MQ&#xff0c;JMS这些差不多&#xff0c;这里不过多累述。 2.场景 所支持订阅的场景有如下&#xff0c;以告警通知为例&#xff0c;当我…...

2024.6.15 英语六级 经验与复盘

文章目录 英语六级 经验与复盘2024年上半年六级考试(2024 6.8 - 6.15)前情提要&#xff1a;经验&#xff1a;作文&#xff1a;(30min)听力&#xff1a;(25min)SectionC(精细阅读) (30min)SectionB(段落匹配) (15min)SectionA(选词填空) (5min / 舍弃)翻译&#xff08;20min&…...

计算机专业的未来展望

身份角度一&#xff1a;一名曾经的计算机专业学生  作为一名曾经的计算机专业学生&#xff0c;我认为计算机相关专业仍然是一个值得考虑的选择。随着科技的飞速发展&#xff0c;计算机行业的需求只会越来越高&#xff0c;因此&#xff0c;无论是在就业前景还是个人发展方面&a…...

Shell变量的高级用法

在Shell编程中&#xff0c;变量的使用是至关重要的。初学者可能只使用最基本的变量赋值和调用&#xff0c;但Shell变量实际上有很多高级用法&#xff0c;可以极大地提升脚本的灵活性和效率。本文将介绍几种Shell变量的高级用法&#xff0c;帮助您更好地利用Shell脚本。 1. 参数…...

【Python/Pytorch - 网络模型】-- SVD算法

文章目录 文章目录 00 写在前面01 基于Pytorch版本的SVD算代码02 理论知识 00 写在前面 &#xff08;1&#xff09;矩阵的奇异值分解在最优化问题、特征值问题、最小二乘方问题、广义逆矩阵问题及统计学等方面都有重要应用&#xff1b; &#xff08;2&#xff09;应用&#…...

全光万兆时代来临:信而泰如何推动F5G-A(50PONFTTR)技术发展

技术背景 F5G-A&#xff08;Fifth Generation Fixed Network-Advanced&#xff0c;第五代固定网络接入&#xff09;是固定网络技术的一次重大升级&#xff0c;代表了光纤网络技术的最新发展。F5G-A旨在提供更高的带宽、更低的延迟、更可靠的连接以及更广泛的应用场景。 F5G-A六…...

港科夜闻 | 香港科大与香港科大(广州)合推红鸟跨校园学习计划,共享教学资源,促进港穗学生交流学习...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大与香港科大(广州)合推“红鸟跨校园学习计划”&#xff0c;共享教学资源&#xff0c;促进港穗学生交流学习。香港科大与香港科大(广州)6月14日共同宣布推出“红鸟跨校园学习计划”&#xff0c;以进一步加强两校学…...

基于Wireshark实现对FTP的抓包分析

基于Wireshark实现对FTP的抓包分析 前言一、虚拟机Win10环境配置二、FileZilla客户端的安装配置下载FileZilla客户端安装FileZilla 三、FileZilla Server安装下载FileZilla Server安装 四、实现对FTP的抓包前置工作实现抓包完成抓包 前言 推荐一个网站给想要了解或者学习人工智…...

Vue54-浏览器的本地存储webStorage

一、本地存储localStorage的作用 二、本地存储的代码实现 2-1、存储数据 注意&#xff1a; localStorage是window上的函数&#xff0c;所以&#xff0c;可以把window.localStorage直接写成localStorage&#xff08;直接调用&#xff01;&#xff09; 默认调了p.toString()方…...

Linux下Shell脚本基础知识

主要参考视频&#xff1a; 这可能是B站讲的最好的Linux Shell脚本教程&#xff0c;3h打通Linux-shell全套教程&#xff0c;从入门到精通完整版_哔哩哔哩_bilibili 主要参考文档&#xff1a; Shell 教程 | 菜鸟教程 (runoob.com) Bash Shell教程 (yiibai.com) 先用视频入门&…...

爬虫初学篇——看完这些还怕自己入门不了?

初次学习爬虫&#xff0c;知识笔记小分享 学scrapy框架可看&#xff1a;孤寒者博主的【Python爬虫必备—&#xff1e;Scrapy框架快速入门篇——上】 目录&#x1f31f; 一、&#x1f349;基础知识二、&#x1f349;http协议&#xff1a;三、&#x1f349;解析网页(1) xpath的用…...

[数据集][目标检测]减速区域检测数据集VOC+YOLO格式1654张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1654 标注数量(xml文件个数)&#xff1a;1654 标注数量(txt文件个数)&#xff1a;1654 标注…...

OpenGL3.3_C++_Windows(8)

材质&&漫反射&#xff0c;光照贴图 使用struct为材质建立结构体&#xff0c;以便方便管理漫反射贴图是物体的颜色值&#xff08;纹理&#xff09;&#xff08;通过 UV 坐标映射到渲染物体的表面&#xff09;&#xff0c;材质是物体的属性&#xff08;物体对光的交互&a…...

GPU的工作原理

location: Beijing 1. why is GPU CPU的存储单元和计算单元的互通过慢直接促进了GPU的发展 先介绍一个概念&#xff1a;FLOPS&#xff08;Floating Point Operations Per Second&#xff0c;浮点运算每秒&#xff09;是一个衡量其执行浮点运算的能力&#xff0c;可以作为计算…...

Linux常⽤服务器构建-samba

目录 1. 介绍 2. 安装 3. 配置 3.1 创建存放共享⽂件的路径 3.2 创建samba账户 4 重启samba 5. 访问共享⽂件 5.1 mac下访问⽅式 5.2 windows下访问⽅式 1. 介绍 Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的⼀个免费软件&#xff0c;能够完成在 windows 、 mac 操作系统…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...