注:跟黑客无关
windows平台与java应用系统在同一局域网内,windows平台上不允许安装任何其他软件(允许开启必要的windows服务)
在java应用系统中需要调用windows的命令,比如说查看windows下的硬盘大小,并返回到应用系统中。
怎么实现,高分求助!
29 个解决方案
#1
可以通过IPC$来连接你的windows系统并执行命令。
#2
我们这就可以,只要输入远程机器的IP、用户名密码就可以调用那个机器上的命令,原理是JAVA去调用一个python脚本,传命令这事让PY给做了,可惜我看不到这个PY的源码,具体咋弄的我也不知道了。
#3
最新消息,有人建议我用WMI实现,但具体方法不详
大家再讨论一下?
大家再讨论一下?
#4
楼上的楼上,python脚本调用有两个问题:
1、是不是要再搭建一个python的运行环境?
2、python脚本的返回值怎么取呢
1、是不是要再搭建一个python的运行环境?
2、python脚本的返回值怎么取呢
#5
用jython就可以,python的java实现
#6
package com.dos;
public class DosTest{
public static void main(String [] args){
try{
Process process=Runtime.getRuntime().exec("p.exe");
process.waitFor();
System.out.println("DOS Sucess");
}catch(Exception e){
e.printStackTrace();
}
}
}
这个还要用到网络程序,自己想下吧..
public class DosTest{
public static void main(String [] args){
try{
Process process=Runtime.getRuntime().exec("p.exe");
process.waitFor();
System.out.println("DOS Sucess");
}catch(Exception e){
e.printStackTrace();
}
}
}
这个还要用到网络程序,自己想下吧..
#7
楼上的兄弟,看你的代码,似乎是调用本地的一个exe文件?
如果是在linux平台那应该就不行了吧?
如果是在linux平台那应该就不行了吧?
#8
楼主也只要求Windows而已
如果只是在Windows上,你可以去微软网站下载一个psexec这个exe下来,然后你可以通过这个exe要求远程的机器执行相关的命令并得到返回结果。
psexec.exe \\hostname -u administrator -p password ipconfig
这样你在Java中直接运行上述命令就可以了。
如果只是在Windows上,你可以去微软网站下载一个psexec这个exe下来,然后你可以通过这个exe要求远程的机器执行相关的命令并得到返回结果。
psexec.exe \\hostname -u administrator -p password ipconfig
这样你在Java中直接运行上述命令就可以了。
#9
Java中就可以Process process=Runtime.getRuntime().exec(cmd); 并process.getInputStream来得到返回结果
#10
不知道这个python脚本是怎么运行呢?
能不能在详细一点信息?
#11
不好意思啊,没写清楚,java系统是装在linux下的
#12
因为这块不是我做的,我只是看到了这个功能,所以具体PY怎么实现的我也不知道,但PY是可以给JAVA返回信息的,访问远程机器成功与否的信息是会返回到JAVA端的,JAVA还要将这个信息显示到界面告诉用户呢
#13
这块属于设备控制,被控制端应该不需要装PY的运行环境,但服务端肯定是要装的
#14
虽然还是没好答案,但可能给俺指明了方向
先谢一个
先谢一个
#15
再问一句,你们的python是安装在windows还是linux?
#16
如果是linux,不知道是否需要什么针对windows的包
#17
如何可以的话在windows系统中开启telnet服务,并通过java的socket连接并执行系统命令。也就是说需要用java实现telnet的客户端,实现应该不难。
#18
使用WMI理论上也是可行的 只是使用java通过WMI来实现还没研究过
#19
我们的系统是支持WIN和LINUX的,两种系统有没有分开处理就不知道了,但安装包是一个通用的
#20
如果只是在Windows上,你可以去微软网站下载一个psexec这个exe下来,然后你可以通过这个exe要求远程的机器执行相关的命令并得到返回结果。
psexec.exe \\hostname -u administrator -p password ipconfig
这样你在Java中直接运行上述命令就可以了。
psexec.exe \\hostname -u administrator -p password ipconfig
这样你在Java中直接运行上述命令就可以了。
#21
现在的困难是被监控的windows主机不允许开启telnet(基本来说,就只能用WMI了)
监控程序肯定是运行在linux平台上
监控程序肯定是运行在linux平台上
#22
使用telnet的方法基本已经实现,不过这是针对被监控的unix平台的(unix的telnet一般是都需要开启的),但是windows平台一般的习惯是不能开telnet,所以才要针对windows的默认服务来进行通讯。
难啊
难啊
#23
使用telnet的方法基本已经实现,不过这是针对被监控的unix平台的(unix的telnet一般是都需要开启的),但是windows平台一般的习惯是不能开telnet,所以才要针对windows的默认服务来进行通讯。
难啊
难啊
#24
在linux下有个samba服务 可以和windows进行通讯。通讯是通过连接windows的ipc$来实现的,smbclient这个工具可以显示与windows的通讯,你可以用java来实现。
#25
标记一下
#26
Process process=Runtime.getRuntime().exec("p.exe");
process.getInputStream就得到返回结果,但有的外部命令就返回不了,建议在调用后把结果写在指定文件了,再读取文件就OK了!
process.getInputStream就得到返回结果,但有的外部命令就返回不了,建议在调用后把结果写在指定文件了,再读取文件就OK了!
#27
很感谢这位的回帖,不过这很明显需要调用exe文件,也就是windows平台的
我需要是在linux平台下的
其实windows平台下有很好的解决方案(com4j)
#28
多谢提醒,不过暂时没空搞这个了
等我抽空验证一下,再散分
#29
LZ兄弟找到解决方法了吗?
#1
可以通过IPC$来连接你的windows系统并执行命令。
#2
我们这就可以,只要输入远程机器的IP、用户名密码就可以调用那个机器上的命令,原理是JAVA去调用一个python脚本,传命令这事让PY给做了,可惜我看不到这个PY的源码,具体咋弄的我也不知道了。
#3
最新消息,有人建议我用WMI实现,但具体方法不详
大家再讨论一下?
大家再讨论一下?
#4
楼上的楼上,python脚本调用有两个问题:
1、是不是要再搭建一个python的运行环境?
2、python脚本的返回值怎么取呢
1、是不是要再搭建一个python的运行环境?
2、python脚本的返回值怎么取呢
#5
用jython就可以,python的java实现
#6
package com.dos;
public class DosTest{
public static void main(String [] args){
try{
Process process=Runtime.getRuntime().exec("p.exe");
process.waitFor();
System.out.println("DOS Sucess");
}catch(Exception e){
e.printStackTrace();
}
}
}
这个还要用到网络程序,自己想下吧..
public class DosTest{
public static void main(String [] args){
try{
Process process=Runtime.getRuntime().exec("p.exe");
process.waitFor();
System.out.println("DOS Sucess");
}catch(Exception e){
e.printStackTrace();
}
}
}
这个还要用到网络程序,自己想下吧..
#7
楼上的兄弟,看你的代码,似乎是调用本地的一个exe文件?
如果是在linux平台那应该就不行了吧?
如果是在linux平台那应该就不行了吧?
#8
楼主也只要求Windows而已
如果只是在Windows上,你可以去微软网站下载一个psexec这个exe下来,然后你可以通过这个exe要求远程的机器执行相关的命令并得到返回结果。
psexec.exe \\hostname -u administrator -p password ipconfig
这样你在Java中直接运行上述命令就可以了。
如果只是在Windows上,你可以去微软网站下载一个psexec这个exe下来,然后你可以通过这个exe要求远程的机器执行相关的命令并得到返回结果。
psexec.exe \\hostname -u administrator -p password ipconfig
这样你在Java中直接运行上述命令就可以了。
#9
Java中就可以Process process=Runtime.getRuntime().exec(cmd); 并process.getInputStream来得到返回结果
#10
不知道这个python脚本是怎么运行呢?
能不能在详细一点信息?
#11
不好意思啊,没写清楚,java系统是装在linux下的
#12
因为这块不是我做的,我只是看到了这个功能,所以具体PY怎么实现的我也不知道,但PY是可以给JAVA返回信息的,访问远程机器成功与否的信息是会返回到JAVA端的,JAVA还要将这个信息显示到界面告诉用户呢
#13
这块属于设备控制,被控制端应该不需要装PY的运行环境,但服务端肯定是要装的
#14
虽然还是没好答案,但可能给俺指明了方向
先谢一个
先谢一个
#15
再问一句,你们的python是安装在windows还是linux?
#16
如果是linux,不知道是否需要什么针对windows的包
#17
如何可以的话在windows系统中开启telnet服务,并通过java的socket连接并执行系统命令。也就是说需要用java实现telnet的客户端,实现应该不难。
#18
使用WMI理论上也是可行的 只是使用java通过WMI来实现还没研究过
#19
我们的系统是支持WIN和LINUX的,两种系统有没有分开处理就不知道了,但安装包是一个通用的
#20
如果只是在Windows上,你可以去微软网站下载一个psexec这个exe下来,然后你可以通过这个exe要求远程的机器执行相关的命令并得到返回结果。
psexec.exe \\hostname -u administrator -p password ipconfig
这样你在Java中直接运行上述命令就可以了。
psexec.exe \\hostname -u administrator -p password ipconfig
这样你在Java中直接运行上述命令就可以了。
#21
现在的困难是被监控的windows主机不允许开启telnet(基本来说,就只能用WMI了)
监控程序肯定是运行在linux平台上
监控程序肯定是运行在linux平台上
#22
使用telnet的方法基本已经实现,不过这是针对被监控的unix平台的(unix的telnet一般是都需要开启的),但是windows平台一般的习惯是不能开telnet,所以才要针对windows的默认服务来进行通讯。
难啊
难啊
#23
使用telnet的方法基本已经实现,不过这是针对被监控的unix平台的(unix的telnet一般是都需要开启的),但是windows平台一般的习惯是不能开telnet,所以才要针对windows的默认服务来进行通讯。
难啊
难啊
#24
在linux下有个samba服务 可以和windows进行通讯。通讯是通过连接windows的ipc$来实现的,smbclient这个工具可以显示与windows的通讯,你可以用java来实现。
#25
标记一下
#26
Process process=Runtime.getRuntime().exec("p.exe");
process.getInputStream就得到返回结果,但有的外部命令就返回不了,建议在调用后把结果写在指定文件了,再读取文件就OK了!
process.getInputStream就得到返回结果,但有的外部命令就返回不了,建议在调用后把结果写在指定文件了,再读取文件就OK了!
#27
很感谢这位的回帖,不过这很明显需要调用exe文件,也就是windows平台的
我需要是在linux平台下的
其实windows平台下有很好的解决方案(com4j)
#28
多谢提醒,不过暂时没空搞这个了
等我抽空验证一下,再散分
#29
LZ兄弟找到解决方法了吗?