您的位置:首页 > 理论基础 > 计算机网络

java代码实现网络远程开机

2014-10-08 18:11 344 查看
/article/3485524.html

概述

远程开机(Wake onLAN)是指通过网络实现对服务器或者pc启动运行,现在很多网卡都支持的这个功能. 其原理简单来说是向目标主机发送特殊格式的数据包, 目标主机收到后,对系统进行启动.

具体方法.

设置bios开启Wake onLAN(WOL)功能

查看主机网卡的mac地址

将主机通过网卡连接到以太网上

发送开机编码,启动系统
其实就是通过socket向目标的机器发送MagicPacket(魔术包),魔术包的格式,包含有连续6个字节的“FF”和连续重复16次的MAC地址。你可以在任何协议的数据包(如在TCP/IP、IPX包)中填上 “FFFFFFFFFFFF”+连续重复16次的MAC地址,就可利用该协议作出一个使用该协议的MagicPacket。只要NIC检测到数据包中任何地方有这样的片段,便会将计算机唤醒。

发送数据包的java代码

?

可能遇到的问题

在路由器环境下,想在公网实现对内网电脑开机
需要设置路由器的ip映射,将外网地址映射为内网地址,比如tp-link的dmz主机设置.
将目标主机(mac:01-12-43-44-D5-56)的ip地址设置为静态ip,比如192.168.0.99, 然后在路由器也绑定mac和ip

家里的公网ip一直变化
可以在路由器里面绑定花生壳(移动铁通可能要付费了选择服务器,才能正确解析ip).
也可以采用变成,定时访问ip地址解析网页比如:http://www.ip138.com,然后将ip地址报告到公网的网站.
ps:本人用一个废弃的安卓手机写了一个周期性报告家里ip地址的程序,每天开着,向自己的公网web服务器报告家里ip嘿嘿

参考资料

http://zhidao.baidu.com/link?url=5EAPJZ-y_62ESu4fKYZqiAe19qvKrI9sBc9eeGbW0g8nxu2IikubcSbpzgSVmoEEAq5l7epLNWPcSw9klXS3Sa
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: