【问题标题】:Get the cumulative bytes sent and received from a NIC获取从 NIC 发送和接收的累积字节数
【发布时间】:2009-04-05 11:04:32
【问题描述】:

是否有一种简单的方法(也许通过脚本)来获取从Windows Server 2008 上的NIC 发送和接收的累积字节数?

例如,NIC 当前显示大约 18 MB 的发送数据和 765 MB 的接收数据。

由于我的服务器提供商没有提供查看每月带宽使用情况的简单方法,因此获取 NIC 数据似乎是最可靠的方法。

我知道我可以使用PRTG 通过SNMP 获取当前使用数据,但这只是一个平均值,因为传感器每 60 秒检查一次。

【问题讨论】:

    标签: networking windows-server-2008 prtg


    【解决方案1】:

    在 PowerShell (CTP2v3) 中,以下命令会有所帮助。 (我有三个接口)。但是,一旦 NIC 重新启动,此信息将归零。

    $computer = "LocalHost";
    $namespace = "root\CIMV2";
    $Tcpip_NI = Get-WmiObject -class Win32_PerfRawData_Tcpip_NetworkInterface -computername $computer -namespace $namespace;
    $Tcpip_NI | Select BytesReceivedPersec, BytesSentPersec, BytesTotalPersec;
    
    $netsh_interface_stats = netsh interface ip show interface;
    $netsh_interface_stats | Select-string "In Octets";
    $netsh_interface_stats | Select-string "Out Octets";
    

    【讨论】:

    • 也(不带 PowerShell)wmic path Win32_PerfRawData_Tcpip_NetworkInterface get BytesReceivedPersec,BytesSentPersec,BytesTotalPersec
    【解决方案2】:

    netstat -e 有帮助吗?它似乎无法区分 NIC,尽管您的维护接口流量也可能混入其中。

    否则这听起来像是 WMIPowerShell

    【讨论】:

      【解决方案3】:

      您可以使用 IronRubyIronPython 脚本并使用 System.Net.NetworkInformation 命名空间,尽管创建一个快速的 C# 或 VB.NET 控制台应用程序可能更容易。

      你可能需要IPv4InterfaceStatistics这个类。

      【讨论】:

        【解决方案4】:

        只是一个简短的说明:

        以下内容对我来说非常有效 - 请注意,数字包含负数,您需要为此构建一些逻辑。我在混合环境中操作,没有任何东西都可以使用 PowerShell,所以我的解决方案是使用WMIC:

        wmic Win32_PerfRawData_Tcpip_NetworkInterface Get BytesReceivedPersec,BytesSentPersec,BytesTotalPersec
        

        【讨论】:

          【解决方案5】:

          我为自己的问题找到了一个现有的解决方案,PRTG Network Monitor 版本 7。

          它有传感器与WMI接口并获取网卡数据。非常好:)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-07-11
            • 2010-11-13
            • 2014-09-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多