繁体   English   中英

使用C#检查远程服务器上的Internet连接

[英]Using C# to check for an internet connection on a remote Server

我正在制作一个“健康指数”网站,该网站可以向系统管理员显示我们的Web和数据服务器的运行状况。

我正在衡量的一些指标是:

  1. 服务器有多少磁盘空间?
  2. 服务器在吗? (我可以从PC上ping吗?)
  3. 我是否正在运行特定的Windows服务?
  4. Web服务器可以访问互联网吗?

到目前为止,我已经为1-3编写了c#函数。 但是,我不知道如何解决#4。

基本上,我想确定远程Web服务器是否可以访问Internet。 我不想仅通过计算机对服务器执行ping操作,因为这无法证明服务器是否可以访问互联网。

该Web服务器主要为“ Intranet”网站提供服务...因此,仅通过浏览器即可访问其服务的网站,我无法证明该服务器具有Internet。

有谁知道我如何使用C#确定此远程Web服务器是否可以访问Internet?

谢谢

毫无疑问,您可以做所有这些事情,但是有一些工具可以管理此类事情。

签出SCOM。 它允许您使用大量现成的检查,添加自己的检查以及将复杂的服务器网络汇总到易于使用的仪表板,警报和报告系统中。

它不是免费的,但是如果您有服务器,则可能拥有某种许可证。 它可能比编写自己的东西便宜,而且几乎可以肯定更彻底,更强大,而且覆盖范围比您自己能够编写的要多。

它可能不是您要找的答案,但请检查一下。

未经测试,但是像这样:

var p = new Process
            {
                StartInfo =
                    {
                        UseShellExecute = false,
                        RedirectStandardOutput = true,
                        RedirectStandardError = true,
                        RedirectStandardInput = true,
                        FileName = @"C:\path\to\PSTools\PsExec.exe",
                        Arguments = @"\\server cmd.exe ping www.google.com"
                    }
            };
        p.Start();

        string output = p.StandardOutput.ReadToEnd();
        string errormessage = p.StandardError.ReadToEnd();

        p.WaitForExit();

        Console.WriteLine(output);
        Console.WriteLine(errormessage);

看起来有人在这里有一些代码:

https://stackoverflow.com/a/2521961/1759812

处理检查连接以及处理回送和其他此类项目。 这是针对服务器本身的,不确定是否可以远程获取此信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM