【问题标题】:How can I monitor active computers on my network in ASP.NET?如何在 ASP.NET 中监视网络上的活动计算机?
【发布时间】:2009-01-15 17:13:09
【问题描述】:

使用 ASP.NET,我如何知道哪些机器与我的 PC 在同一 LAN 上处于活动状态?

【问题讨论】:

    标签: asp.net networking monitoring


    【解决方案1】:

    您可以 ping 网络上的计算机。

    // addressToPing can be an IPaddress or host name.
    // returns a boolean indicating successful ping
    public static bool PingComputer (string[] addressToPing)
    {
        Ping pingSender = new Ping ();
        PingOptions options = new PingOptions ();
    
        // Use the default Ttl value which is 128,
        // but change the fragmentation behavior.
        options.DontFragment = true;
    
        // Create a buffer of 32 bytes of data to be transmitted.
        string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
        byte[] buffer = Encoding.ASCII.GetBytes (data);
        int timeout = 120;
        PingReply reply = pingSender.Send (args[0], timeout, buffer, options);
        return reply.Status == IPStatus.Success;
    }   
    

    http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping.aspx

    您可以使用此 ping 代码并遍历 LAN 上的 IP 地址 (for(i = 1; i < 255; i++))。不过,您可能应该阅读有关进行 IP 地址计算的内容:

    http://blogs.msdn.com/knom/archive/2008/12/31/ip-address-calculations-with-c-subnetmasks-networks.aspx

    这称为“ping 扫描”。它确实假定网络上的计算机尚未配置为忽略 ICMP 请求。

    【讨论】:

    • 有没有办法找出网络中可用的IP地址?
    • @unknown:正在处理这部分内容。
    • 这应该是您开始工作所需的一切。
    【解决方案2】:

    我将分两部分处理这个问题;一个 ASP.NET 页面和一个始终运行的服务。

    始终运行的服务可监控 ARP 请求,以了解哪些机器处于活动状态。为了查看 ARP 回复,它必须发出自己的 ARP 请求。在 Windows 网络上,总是有足够的空闲流量(用于浏览计算机)来很好地了解哪些计算机处于活动状态。

    【讨论】:

      【解决方案3】:

      如果您有能力在网络上的各种计算机上安装监控软件,我很幸运使用nagios 来跟踪生产中哪些服务器启动/负载过重/磁盘空间不足/等网络。它还有一个不错的 Web 前端,您甚至根本不需要使用 ASP。

      如果你必须用 ASP 创建一些本地开发的东西,我会使用nmap 扫描你的 C 类子网,然后在你的 ASP 页面中打印结果。这不是一种非常有效的方法,但它会非常简单并且几乎可以保证工作(使用适当的选项)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-12
        • 2013-11-27
        • 1970-01-01
        • 2014-04-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多