Как контролировать использование сети определенного интерфейса в Java? - PullRequest
4 голосов
/ 22 октября 2009

Я хочу знать точный объем данных, которые передаются через определенный сетевой интерфейс для целей регистрации. Существует ли какая-либо стандартная библиотека или вызов API, из которого я могу сделать это кросс-платформенным способом?

Ответы [ 3 ]

2 голосов
/ 22 октября 2009

Это похоже на то, что вы хотите. По крайней мере, я думаю, что это укажет вам правильное направление: http://jnetpcap.com/

edit: Хотя libpcap не является строго кроссплатформенным, он содержит библиотеки для всех основных платформ, поэтому я бы не стал считать это стоп-шоу, но мне это не нужно.

1 голос
/ 24 января 2010

jNetPcap использует Sigar в некоторых своих модульных тестах.Sigar рекламирует себя как «переносной интерфейс для сбора системной информации», включая обнаружение сетевого интерфейса, информацию о конфигурации и метрики.Взгляните на его класс NetInterfaceStat.

Обратите внимание, что Sigar также использует JNI для конкретных платформ, то есть замечание Роба Х все еще применимо.

0 голосов
/ 22 октября 2009

SNMP4J позволит вам прочитать интерфейс MIB любого SNMP-совместимого устройства. В Linux и OSX (возможно) уже запущен демон SNMP; В Windows есть служба SNMP , которую вы можете установить через Программы и компоненты на панели управления .

...