远程唤醒_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!
有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器。
准备工作
本程序主要是实现远程管理 Windows10操作系统的开机和关机:
- 在 Windows机器的相同内网中放一个 Linux 主机,我这里用树莓派代替,如果你是用 OpenWrt 之类的路由器也可以。
- Linux 主机需要能够远程访问,我这里是有 FRP 将树莓派的端口映射到我的公网 Linux 主机上。所以可以随时远程 SSH 过去。
- Windows 机器的网卡必须是有线连接,支持网络唤醒功能。
开机实现思路
首先通过微信发送开机指令,这里我使用的是 itchat 程序会调用 Paramiko 库去 SSH 远程到内网的树莓派执行 WakeOnLan 命令去唤醒 Windows 主机。
程序会通过 ICMP 协议, ping 下需要唤醒的目标主机然后进行过滤,一个正常的 ICMP 包是64字节,过滤打印出这个64。
例如 ping 百度:
用一段 Linux 命令去过滤是否有64,这里为啥要用 head -n 1 呢?
因为有可能会出现2行,经过测试,我们只需要取64这个值就可以了:
如果有则表示开机成功已经联网了,返回开机成功,否则程序继续往下走,去唤醒,然后在 ping 一次确认是否开机,如果为是则返回开机成功,否则返回失败。程序执行成功后,在我的网站根目录创建一个 shutdown 文件,用于后面的关机操作:
关机部分实现
当接收关机指令时,程序会去删除网站根目录的 shutdown 文件,客户端我写了几行代码,去通过 Requests 库每隔30s 发送 HTTP head 请求去判断文件是否是404,如果是404 这说明文件不存在,调用系统关机操作,执行关机。
然后 SSH 到树莓派去 ping 目标主机,如果返回为空,则说明关机成功,否则关机失败。这只是针对 Windows 的关机,如果目标主机是 Linux 则简单多了:
客户端代码,写完扔计划任务,开机启动:
使用 TeamViewer 连接:
缺点
- 网页端微信必须一直登录,不方便,这个就需要微信不能断网了。
- WakeOnLan 是广播 MAC 地址的,貌似不能返回是否成功没,所以还是要 ping 主机看看通不通,判断下。
- 需要一个树莓派做跳板机,否则也不能唤醒内网设备。
- 如果只允许自己控制最好是使用文件助手来发送消息,因为默认情况下,任何人都可以给你发送指令开机。
- Windows需要安装TeamViewer并且设置为开机自动启动以及绑定账号设置无人值守模式。这样方便远程,如果是Linux 则不需要开启 ssh 就可以了。
远程唤醒_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!相关推荐
- python 执行ping命令_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!...
有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器. 准备工作 本程序主要是实现远程管理 Windows10操作系统的开 ...
- 远程连接电脑_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!
有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器. 准备工作 本程序主要是实现远程管理 Windows10操作系统的开 ...
- python 远程控制电脑开机_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!...
有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器. 准备工作 本程序主要是实现远程管理 Windows10操作系统的开 ...
- Python黑科技:在家远程遥控公司电脑,python+微信一键连接!
有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器. *注意:全文代码可左右滑动查看 准备工作 本程序主要是实现远程管理 ...
- 在家想远程公司电脑?Python +微信一键连接
作者 | 阿文 转载自 CSDN(ID:CSDNnews) 有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器. 准备工 ...
- 在家想远程公司电脑?Python + 微信一键连接!
作者 | 阿文 责编 | 伍杏玲 有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器. 快速挑战Python全栈工程师: ...
- python远程安装软件_在家想远程公司电脑?Python + 微信一键连接!
作者 | 阿文 责编 | 伍杏玲 有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器. 准备工作 本程序主要是实现远程管 ...
- 在家想远程公司电脑?Python+微信一键连接!
作者 | 阿文 责编 | 伍杏玲 有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器. 准备工作 本程序主要是实现远程管 ...
- 怎样解决在家远程操控公司电脑
很多个人或者中小型公司都会自建服务器,或者将自己内网的服务.应用发布到外网,实现异地访问,如:网站.公司的管理系统.管家婆.FTP.远程桌面.数据库.监控系统等等. 没有接触过的人可能会觉得这个是很高 ...
最新文章
- spring和hibernate的集成
- 外观、体验升级 HUAWEI WATCH 2 Pro成智能手表领航者
- linux 其他参数
- 在VCS仿真器中使用FSDB
- qt 串口发送char 数组乱码_串口的波特相差多大会误码
- 兼容所有浏览器的设为首页收藏本站js代码,推荐使用
- 全新2007高校BBS上睿智的冷笑话
- 生成base64二维码带logo
- android怎么开机画面,android开机动画bootanimation 分析
- Android双清卸载木马,刷机如何清除木马病毒
- java图片转换pdf_Java将图片转化为PDF的方法(1)
- SQL Server-【知识与实战III】年龄查询、条件查询、多表查询、姓氏查询
- win10卸载软件通过控制面板
- sencha list
- 小米路由器LuCI Web服务
- com.alibaba.fastjson.JSONException: create instanc
- 论文阅读-Twitter Bot Detection Using Bidirectional LongShort-term Memory Neural Networks-TPS-ISA会议
- 联想最小的计算机,联想开卖全球首款5G笔记本电脑,搭载业界最小5G模块
- 非域环境下搭建文件服务器,非域环境下SQL Server搭建Mirror(镜像)的详细步骤...
- java编程文件传输_JAVA文件传输程序
热门文章
- cmd 删除文件夹_永远不要碰的5个macOS文件夹及原因
- java反射 初始化bean_通用javabean初始化(反射机制)
- 2009年浙江大学计算机及软件工程研究生机试真题
- XAML 布局StackPanel
- vim 命令学习(高级篇)
- python-study-12
- [网络安全提高篇] 一〇二.Metasploit技术之基础用法万字详解及防御机理
- [网络安全自学篇] 四十四.Windows远程桌面服务缺陷(CVE-2019-0708)复现及防御详解
- 【数据结构与算法】之深入解析如何确定单链表有环并求环的入口和长度
- HarmonyOS之AI能力·通用文字识别技术