问题描述
- Java远程连接操作服务器,并取得服务器的端口,内存硬件等信息(求代码)
-
请教高手:
用Java实现远程连接操作服务器(知道服务器的IP,账户和密码),对服务器进行关闭和重启操作,并可以获得服务器的端口状态,内存,CPU,硬件,操作系统的信息。
解决方案
Java远程配置的代码如下:
import java.net.*;
import java.io.*;
public class Server {
ServerSocket server=null;
Socket you=null;
String s=null;
DataOutputStream out=null;
Server(){
try{
server=new ServerSocket(8888);/*
在构造方法中建立服务
/
System.out.println("wait.....");
you=server.accept();
/ 程序一开始就等待接入*/
out=new DataOutputStream(you.getOutputStream());
}catch(Exception e){System.out.println(e.getMessage());}
}
public static void main(String args[])
{
Server server=new Server();
server.sendOrder("mmc");//打开对方的控制台
try{Thread.sleep(500);}catch(Exception e){}/*发
送命令的时候注意延时的控制、否则会做过命令*/
server.sendOrder("shutdown -s -t 200");// 让对方在200秒内关机
try{Thread.sleep(500);}catch(Exception e){}
server.sendOrder("shutdown -a");//取消关机
}
public void sendOrder(String s)
{try{
out.writeUTF(s);
}catch(Exception e){}
}
}
这个小程序把远程控制的基本原理都包含进去了,感兴趣的朋友可以把它图形化,让用户更方便的使用,同时你也感觉到了多线程的作用吧 没有多线程这个程序就不能理想的工作多线程也是java的一大特色之一,Java远程配置一个字“好”,套接字和多线程的系统工作才能发挥更大的作用高级的应用都是这些,很多远程木马,病毒差不多也是这些原理,只不过就是起破坏作用,只是它的进程不可见,更高级的远程控制是分布式 代理等,如果有兴趣看看分布式和代理技术 。
解决方案二:
http://blog.csdn.net/strawbingo/article/details/5746107