| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 如何通过WOL(Wake On Lan)唤醒电脑 -> 正文阅读 |
|
[网络协议]如何通过WOL(Wake On Lan)唤醒电脑 |
如何通过WOL(Wake On Lan)唤醒电脑demo话不多说,先看效果视频 痛点作为一名开发者我们经常需要远程访问自己的笔记本,这样就会遇到一个很大的问题,那就是我们的笔记本必须要一直处于开机状态。那有没有一种情况就是我们需要远程笔记本的时候,先远程笔记本开机,然后再远程笔记本呢?经过我的上网查询发现还真的是有办法远程让笔记本开机,那就是(Wake On Lan)局域网唤醒。
什么是(Wake On Lan)局域网唤醒网络唤醒(Wake-on-LAN,WOL)是一种计算机局域网唤醒技术,使局域网内处于关机或休眠状态的计算机,将状态转换成引导(Boot Loader)或运行状态。无线唤醒(Wake-on-Wireless-LAN,WoWLAN)作为 WOL 的补充技术,使用无线网卡去唤醒计算机。网络唤醒在一般的局域网环境里使用有限广播地址(255.255.255.255)即可,由于路由器都不转发目的地址为有限广播地址的数据报,因此在复杂网络情况下通常使用子网定向广播地址。在局域网外唤醒局域网内特定计算机,可以使用路由器的 DDNS 与端口转发。 在1996年10月,英特尔和 IBM 成立了 Advanced Manageability Alliance。1997年4月,联盟提出了 WOL 技术。这是 WOL 技术的起源,随后各大厂商纷纷推出了自己的 WOL 技术标准。本文所讨论的 WOL 技术是由 AMD 公司提出的 Magic Packet(幻数据包,魔术包)唤醒方式。 开启局域网唤醒这里我写的可能很不好,大家可以参考一下其他人的方法 1. 支持WOL的有线网卡现在的有线网卡一般都支持WOL。
2. 在BIOS中开启wake on lan这一步非必须,我们需要进入到笔记本的BIOS中查看,以我的为例:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-glEHnnnh-1630685292220)(http://blog.lengff.com/img/wakeonlan/bios-wakeonlan.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bWmHhj0u-1630685292225)(http://blog.lengff.com/img/wakeonlan/bios-wakeonlan1.jpg)] 3. 配置过程1. 进入设备管理器2. 找到有线网卡[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-INBw3Vzd-1630685292238)(http://blog.lengff.com/img/wakeonlan/config_step_2.png)] 3. 右键进入属性中设置,在“高级”——“属性”,开启“关机网络唤醒”和“魔术封包唤醒”;[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sy4g6wEf-1630685292240)(http://blog.lengff.com/img/wakeonlan/config_step_3.png)] 5. 在“电源管理”,勾选“允许计算机关闭此设备以节约电源”和“允许此设备唤醒计算机”,至于“只允许幻数据包唤醒计算机”,可以勾选也可以不勾选,毕竟我们WOL使用的就是幻数据包。
测试是否生效1. 让笔记本进入睡眠
2. 唤醒笔记本
这里其实有很多方法都支持,这里不一一列举,就列举两个最简单快捷的 1)点击上述链接,输入对应的IP地址和需要唤醒的笔记本的mac地址,再点击wake up即可 2)或者使用微信小程序,搜 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uvu60bHT-1630685292249)(http://blog.lengff.com/img/wakeonlan/config_step_6.jpg)] 总结通过上面的简单配置就可以让我们的笔记本能够在局域网下远程开机,所以我们可以根据这一个逻辑对其做出优化处理。 原理解析原理
简单的用个人的理解来讲述一下。
什么是幻数据包(Magic Packet)幻数据包是一个广播帧,包含目标计算机的MAC地址。由于 MAC 地址的唯一性,使数据包可以在网络中被唯一的识别。幻数据包发送通常使用无连接的传输协议,如 UDP ,发送端口为 7 或 9 ,这只是通常做法,没有限制。 幻数据包最简单的构成是6字节的255(FF FF FF FF FF FF FF),紧接着为目标计算机的48位MAC地址,重复16次,数据包共计102字节。有时数据包内还会紧接着4-6字节的密码信息。这个帧片段可以包含在任何协议中,最常见的是包含在 UDP 中。
UDP协议因为这里需要通过Java程序向我们的网卡发送幻数据包,使用的UDP通信协议。
代码实现不同的代码有不同的实现方式,这里我们使用java代码作为示例
最终实现本来以为这个东西挺简单的,三言两语就应该能讲述的清楚,但是我发现还是比较难用文字把整个实现过程讲述清楚,但是我相信上面的代码也足以让大家实现远程开机的demo,只要根据这个demo就能简单快速的做到远程开机,所以这里就简单讲讲我这个视频里面的实现逻辑。 流程图这里的流程其实是挺简单的,我觉得大家看图就应该能看懂了 前提条件1. 一台小型服务器既然要使用这个功能,就必然需要有一个内网的设备来向电脑发送指令,且需要这个设备一直在线; 2. 内网穿透工具如果说是用路由的话且可以访问公网,就只要搞一个DDNS就可以了,但是如果跟我一样使用mini服务器的话,就必须用到一些内网穿透工具;这里也分两种情况
3. 代码我自己临时搞的demo,代码乱糟糟的,有感兴趣的同学可以联系找我那代码,放github就算了,并不是说有多稀罕,主要是自己也是改的别人的开源代码,搞的又很乱,这种东西拿出来开源我觉得实在是没脸。 4. 远程电脑这里需要单独拿出来讲一讲,这里大概描述一下
坑
鸣谢 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:11:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |