转发一段用java发送远程开机数据包的代码:
另外,在线发送的网址:http://www.depicus.com/wake-on-lan/woli.aspx
package com.lh.openOS; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; public class TestOpenOS { private int port = 10000; private String mac = "8C-89-A5-19-82-9A"; private String ipAddress = "255.255.255.255"; public TestOpenOS() { // TODO Auto-generated constructor stub } private void setMac(String mac) { this.mac = mac; } public TestOpenOS(int port, String mac, String ipAddress) { this.port = port; this.mac = mac; this.ipAddress = ipAddress; } public void sendOpenOS() { InetAddress destHost = null; DatagramSocket ds = null; try { destHost = InetAddress.getByName(ipAddress); byte[] destMac = getMacBytes(mac); byte[] magicBytes = new byte[102]; // 将数据包的前六位放入0xFF即“FF”的二进制 // 发一个BroadCast包,包的内容包括以下数据就可以了。 // FF FF FF FF FF FF,6个FF是数据的开始, // 紧跟着16次MAC地址就可以了。 for (int i = 0; i < 16; i++) { for (int j = 0; j < destMac.length; j++) { magicBytes[6 + destMac.length * i + j] = destMac[j]; magicBytes[j] = (byte) 0xFF; } } // --------------------查看数据报发出的数据--------------------- for (int i = 1; i <= 102; i++) { if (((i - 1) % 6) == 0) { System.out.println(); } System.out.print(magicBytes[i - 1] + "==="); } // System.out.println("port =" + port + ", destHost=" + destHost + ",magicBytes.length = " + magicBytes.length); DatagramPacket dp = null; try { dp = new DatagramPacket(magicBytes, magicBytes.length, destHost, port); ds = new DatagramSocket(); ds.send(dp); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } finally { if (null != ds) { //关闭数据报流 ds.close(); } } } // 远程关机 public void sendCloseOS() { } /** * 将16进制的mac地址转换为二进制 * @param macStr * @return * @throws IllegalArgumentException */ private static byte[] getMacBytes(String macStr) throws IllegalArgumentException { byte[] bytes = new byte[6]; String[] hex = macStr.split("(\\:|\\-)"); if (hex.length != 6) { throw new IllegalArgumentException("mac 地址有问题,你看看对不对?Invalid MAC address."); } try { for (int i = 0; i < 6; i++) { bytes[i] = (byte) Integer.parseInt(hex[i], 16); } } catch (NumberFormatException e) { throw new IllegalArgumentException("Invalid hex digit in MAC address."); } return bytes; } public static void main(String[] args) { TestOpenOS w = new TestOpenOS(); w.sendOpenOS(); w.setMac("8C-89-A5-19-80-3D"); w.sendOpenOS(); } }
相关推荐
"IP地址扫描及发送开机指令"这个主题涉及了两个核心概念:IP地址扫描和网络唤醒(Wake-on-LAN,简称WoL)。接下来,我们将深入探讨这两个知识点。 首先,IP地址扫描是网络管理的基本工具,用于发现并列举网络上所有...
Delphi中的`UOpenORclose`组件可能也包含了这样的功能,通过调用系统API或者WMI接口,向目标计算机发送关机指令。 总的来说,这个Delphi项目提供了一个实用工具,使得在局域网环境中远程控制计算机的开关机变得更加...
当这个数据包被发送到目标计算机的网络上,具备WOL功能的网卡接收到后会解析并执行开机指令。 为了实现这一功能,开发者可能使用了低级别的网络编程API,如Winsock库,来创建套接字并发送数据包。同时,可能还需要...
在远程开机关机场景中,ESP8266可以通过Wi-Fi网络发送指令到目标设备,控制其电源状态。 2. 远程控制原理: 远程控制的核心是通过ESP8266建立一个服务器或者连接到云端服务,接收来自互联网的指令。用户可以使用...
在IT领域,局域网(LAN)内的远程开机与关机功能是一项实用的技术,它允许用户通过网络控制其他计算机的启动和关闭,极大地提升了工作效率,特别是在管理多台设备时。以下将详细介绍这一技术的实现原理、相关工具...
然后,工具会将这个Magic Packet发送到网络上,目标计算机接收到后就会执行开机指令。 4. 配置路由器:为了确保Magic Packet能到达目标计算机,可能需要在路由器上进行一些配置,比如开启端口转发或者允许广播包...
当电脑关闭或处于休眠状态时,通过发送特定类型的数据包——“魔术包”(Magic Packet)至目标电脑的网卡,网卡接收到这个数据包后会向主板发送开机指令,从而实现远程唤醒。 要实现互联网远程唤醒电脑,有几个关键...
在控制开机的例子中,你需要创建一个UDP套接字,然后将包含开机指令的报文发送到目标计算机的特定端口。这个报文通常会包含目标电脑的MAC地址,因为MAC地址是网络设备的唯一物理标识,在局域网内可以用来定位设备。 ...
NetWaker 2.1就是利用了这一特性,让用户可以通过互联网远程发送“唤醒信号”到目标计算机。 要使用NetWaker 2.1,首先你需要知道目标电脑的MAC地址。MAC地址是网卡的物理地址,每个网络设备都有独一无二的MAC地址...
这个数据包会被广播到网络上,被正确配置的设备接收到后,就会执行开机指令。 5. **接收反馈**:一旦目标设备被成功唤醒,控制端可能会接收到反馈信息,确认远程开机操作已经完成。 值得注意的是,当目标设备位于...
现在很多主板都有远程唤醒的功能、只要接通电源、与局域网连上、就可以通过发送一个指令到特定网卡(MAC地址)就能开机. 我将程序集成了一下,可以通过主机名或者ip地址就得到局域网内任何一台电脑的mac地址。这样...
《远程开机技术在Windows环境中的应用——以ha_WakeOnLanGui_1.0为例》 远程开机技术,简称WOL(Wake-On-Lan),是一种允许用户在远程位置启动计算机的技术。它通过网络发送一个特殊的“魔法包”(Magic Packet)到...
标题中的“小爱同学电脑远程开关机”是指利用小米的小爱同学智能音箱,通过与互联网芯片ESP8266的交互,实现对电脑的远程控制,包括开机和关机功能。这种技术结合了物联网(IoT)和智能家居的元素,使得用户可以通过...
远程控制软件的工作原理通常基于TCP/IP协议,通过发送特定的指令到目标计算机,模拟本地操作来实现远程控制。例如,开机功能可能利用网络唤醒(Wake-on-LAN,WOL)技术,通过发送一个包含特定MAC地址的广播数据包来...
在这个项目中,51单片机作为核心控制器,通过接收阿里云服务器发送的TCP命令,实现了对台式机主板的远程开机和关机功能。以下将详细解析这个项目的实施过程和技术要点。 首先,51单片机,全称为Intel 8051系列...
通过使用特定的协议和技术,如TCP/IP、UDP等,远程开关机管家能够在局域网内发送指令,使目标计算机执行开机、关机或者重启操作。这对于需要定时开关机、统一维护或更新系统的环境尤其有用,避免了逐一手动操作的...
5. 执行任务:通过CMC启动任务,工具将自动向网络中的目标设备发送开机指令,等待设备响应并启动。 6. 监控与反馈:观察设备的开机状态,检查操作日志,确保所有设备按预期操作。 总的来说,网络批量开机工具是IT...
3. 控制面板的设计:控制面板需要直观、易操作,以便于操作人员发送远程控制指令。 4. 远程控制软件的设计:软件部分需要能够处理各种状态信息,并将操作指令转换为相应的控制信号。 综上所述,本文介绍的远程开...
4. **网络协议**:可能采用HTTP、MQTT或其他网络协议,接收远程设备(如手机、电脑)发送的控制指令。 5. **测试与调试**:上传代码到ESP8266后,通过功能演示视频验证舵机是否能按预期响应网络指令。 6. **安全与...