如何在Java中监控特定接口的网络使用情况?

4

我想知道通过特定网络接口传输的数据确切数量,以进行日志记录。是否有标准库或API调用可以跨平台实现此功能?

3个回答

2

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

编辑:虽然不是完全跨平台的,但是libpcap为所有主要平台提供了库,所以我不认为这是个难题,但我不是需要它的人。


请注意,此库依赖于通过JNI访问的本机代码。没有跨平台的方法来做你试图做的事情。Java可能不是最合适的选择。 - Rob H

1
jNetPcap在其部分单元测试中使用Sigar。Sigar自称为“用于收集系统信息的便携式接口”,包括网络接口检测、配置信息和指标。请查看其NetInterfaceStat类。
请注意,Sigar还依赖于特定平台的JNIs,即Rob H的评论仍然适用。

0

SNMP4J 可以让您读取任何支持 SNMP 的设备的 接口 MIB。Linux 和 OSX(可能)已经运行了 SNMP 守护程序;Windows 有一个 SNMP 服务,您可以通过控制面板中的“程序和功能”安装


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接