【发布时间】:2018-09-04 13:52:13
【问题描述】:
我想知道如何确定系统是否已关闭或未使用其 IP 地址(假设我已获得 IP 地址列表)。
目前我有一个控制台应用程序,它将命令作为输入并在命令提示符下执行它并在控制台上显示输出。
class Program
{
static void Main(string[] args)
{
Process cmdProcess = new Process();
cmdProcess.StartInfo.FileName = "cmd.exe";
cmdProcess.StartInfo.RedirectStandardInput = true;
cmdProcess.StartInfo.RedirectStandardOutput = true;
cmdProcess.StartInfo.CreateNoWindow = true;
cmdProcess.StartInfo.UseShellExecute = false;
cmdProcess.Start();
}
}
【问题讨论】:
-
神奇的词是
ping。 -
@Paxz,并非所有机器都会回复 ping。
-
你能稍微改变一下架构吗?我想建议这样做的原因是,据我所知,没有任何方法可以检查机器是否在那里,而无需在客户端/远程机器端进行一些更改。如果你宁愿在客户端运行一个服务/东西,在你的主机上“签入”,它会更好。
-
不可能为这个问题创建一个不在远程主机上运行软件的通用解决方案。系统可能不响应 PING,可能不是 Windows 系统(这使得无法使用 WMI),或者如果没有响应,则可能根本不响应网络流量。你需要的是每个远程主机上的一个程序,它允许你远程控制它。