转发一段用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(); } }
相关推荐
现在很多主板都有远程唤醒的功能、只要接通电源、与局域网连上、就可以通过发送一个指令到特定网卡(MAC地址)就能开机. 我将程序集成了一下,可以通过主机名或者ip地址就得到局域网内任何一台电脑的mac地址。这样...
1.发送指令 22 2.对话聊天 22 3.监视屏幕 23 4.遥控功能 25 5.了解信息及修改信息 26 5.TELNET超级终端 26 6.文件传输 27 7.鼠标键盘录制 28 8.隐藏进程 28 9.开机启动运行 29 10.正常关机 29 11.多用户...
该功能可以当电脑处于关机或休眠状态时,通过给网卡发送特定的数据包从而命令网卡向主板发送开机指令,进而实现上电开机。 可见,网络唤醒需要硬件(主要是主板和网卡)的支持。目前几乎所有品牌的硬件都支持WOL...
摘要: 本文阐述了基于Internet的工业空调智能控制器的软硬件...除了要完成常规的功能以外,还要和外部网络进行通信,接收远程用户通过Internet发送过来的指令,分析指令并执行相应的操作,根据需要返回设备的工作状态
摘要: 本文阐述了基于Internet的工业空调智能控制器的软硬件...除了要完成常规的功能以外,还要和外部网络进行通信,接收远程用户通过Internet发送过来的指令,分析指令并执行相应的操作,根据需要返回设备的工作状态
二、该软件支持远程控制(本远程控制不是指远程控制别人的摄像头,而是对本软件进行远程控制):(只要可以登上您设置的邮箱就行)对监控软件下达指令,如打开、关闭某个摄像头;要求某个摄像头截实时图片发送到邮箱...
BMC的主要功能 通过系统的串口进行访问 故障日志记录和 SNMP 警报发送 访问系统事件日志 (System Event Log ,SEL) 和传感器状况 控制包括开机和关机 独立于系统电源或工作状态的支持 模拟KVM 通过远程连接服务器的...
二、该软件支持远程控制(本远程控制不是指远程控制别人的摄像头,而是对本软件进行远程控制):当您不在电脑前时,您可以依据《说明书》中的指令说明,通过手机、电脑、ipad等一切设备(只要可以登上您设置的邮箱就...
51. mstsc----------远程桌面连接 53. magnify--------放大镜实用程序 54. mmc------------打开控制台 55. mobsync--------同步命令 57. iexpress-------木马捆绑工具,系统自带 58. fsmgmt.msc-----共享文件夹...
超酷的娱乐多媒体设计:触控移动事件、建立手势、手势判断控制、屏幕保护程序、启动动画、mp3播放器、3gp影片播放、相机预览拍照、自动对焦、调整音量、信息指令遥控手机、录音控制、自定义动画按钮等 Web Service...
超酷的娱乐多媒体设计:触控移动事件、建立手势、手势判断控制、屏幕保护程序、启动动画、mp3播放器、3gp影片播放、相机预览拍照、自动对焦、调整音量、信息指令遥控手机、录音控制、自定义动画按钮等 Web Service...
超酷的娱乐多媒体设计:触控移动事件、建立手势、手势判断控制、屏幕保护程序、启动动画、mp3播放器、3gp影片播放、相机预览拍照、自动对焦、调整音量、信息指令遥控手机、录音控制、自定义动画按钮等 Web Service...
超酷的娱乐多媒体设计:触控移动事件、建立手势、手势判断控制、屏幕保护程序、启动动画、mp3播放器、3gp影片播放、相机预览拍照、自动对焦、调整音量、信息指令遥控手机、录音控制、自定义动画按钮等 Web Service...
此项目可选择硬盘开机的优先级,按下的按键,你可以进入它的子选单,它会显示出已侦测到可以让您选择开机顺序的硬盘,以用来启动系统。当然,这个选项要在你安装了两块或者两块以上的系统才能选择! HDD Change ...
在系统关机前使用 shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录。 halt 1.作用 halt命令的作用是关闭系统,它的使用权限是超级用户。 2.格式 halt...
登录远程主机 telnet hostname|IP address 网络侦测 ping hostname|IP address 路由跟踪 trace hostname|IP address 6. 基本设置命令 任务 命令 全局设置 config terminal 设置访问用户及密码 username ...