【问题标题】:How to monitor the Network usage of a particular interface in Java?如何在 Java 中监控特定接口的网络使用情况?
【发布时间】:2009-10-22 14:29:32
【问题描述】:

我想知道为了记录目的而通过特定网络接口传输的数据的确切数量,是否有任何标准库或 api 调用可以让我以跨平台的方式执行此操作?

【问题讨论】:

    标签: java networking monitoring


    【解决方案1】:

    这似乎可以满足您的需求。至少,我认为它会为您指明正确的方向: http://jnetpcap.com/

    edit:虽然不是严格的跨平台,但 libpcap 拥有适用于所有主要平台的库,所以我不会认为这是一个阻碍,但我不是需要它的人。

    【讨论】:

    • 请注意,此库依赖于通过 JNI 访问的本机代码。没有跨平台的方式来做你想做的事情。 Java 可能不是最合适的。
    【解决方案2】:

    jNetPcap 在它的一些单元测试中使用Sigar。 Sigar 将自己宣传为“用于收集系统信息的便携式接口”,包括网络接口检测、配置信息和指标。看看它的 NetInterfaceStat 类。

    请注意,Sigar 还依赖于特定于平台的 JNI,即 Rob H 的评论仍然适用。

    【讨论】:

      【解决方案3】:

      SNMP4J 可让您读取任何符合 SNMP 的设备的interface mib。 Linux 和 OSX(可能)已经运行了一个 SNMP 守护进程; Windows 有一个SNMP service,您可以使用install though Programs and Features in Control Panel。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-01
        • 2015-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-28
        相关资源
        最近更新 更多