如何在Java中调用远程程序?

时间:2009-08-13 02:32:23

标签: java

是否可以在远程计算机上调用exe,假设我们知道它所在的exe的绝对路径?

我已经编写了一个客户端和一个服务器程序,并且能够在两者运行时按预期工作。但是现在,我想要做的就是在服务器没有运行的情况下从客户端调用服务器程序。似乎无视服务器 - 客户端模型的目的,但仍然如此。

如果可以在不知道远程系统的登录凭据的情况下实现这一点,那就太酷了。例如:有些像'PsExec'这样的软件需要登录凭证。

据我所知,这样的功能可能不存在,因为这意味着严重的安全威胁,但是,我只是想知道是否存在某种解决方法。

4 个答案:

答案 0 :(得分:2)

  

如果可以在不知情的情况下进行   远程的登录凭据   系统,然后它很酷。例如:那里   是需要的'PsExec'之类的软件   登录凭证。

     

我明白,这样的功能可能会   不在那里,因为它意味着一个   严重的安全威胁,但是,我   只是想知道是否有某种形式   解决方法。

那些“不方便”的安全规则是出于某种目的。您只需希望人们无需正确的身份验证和授权即可在您的计算机上运行任何旧程序。即使你在防火墙后面也没有。

为什么呢?

一句话 - 病毒!如果网络上的某台计算机感染了病毒(或类似的恶意软件),那么运行未经过身份验证的远程执行服务的所有计算机都将面临严重的感染风险。

答案 1 :(得分:0)

尝试Gridserver技术......它基于网格技术,非常高效且易于部署。

答案 2 :(得分:0)

您可以在服务器上设置一个消息传递系统,如远程过程调用,Web服务或简单的tcp套接字,以唤醒服务器进程。

答案 3 :(得分:0)

执行exe的唯一方法是执行您有权访问的本地应用程序。 必须是您要在其上执行应用程序的计算机上运行的软件的一部分。从那里,你可以从远程机器上的第二个程序进行远程调用,要求当地人执行他的工作:执行。

正如斯蒂芬C所说,如果我能在你的机器上运行exe而没有你的权限,那将是一种暴力的安全漏洞。