Выполните SNMP-обход, используя метод SharpSnmpLib BulkWalk

java 7 +

По моему скромному мнению, поскольку я фанат простой java, я бы предложил что-то, что это комбинация вышеупомянутых ответов. Может быть, я опаздываю на вечеринку. Вот код:

 String sampleText = "test" +  System.getProperty("line.separator");
 Files.write(Paths.get(filePath), sampleText.getBytes(StandardCharsets.UTF_8), 
 StandardOpenOption.CREATE, StandardOpenOption.APPEND);

Если файл не существует, он создает его, и если он уже существует, он добавляет sampleText в существующий файл. Используя это, вы избавляетесь от добавления ненужных библиотек в ваш путь к классам.

0
задан Red_Phoenix 1 March 2019 в 16:28
поделиться

1 ответ

Таким образом, я нашел проблему, которая была в два раза.

Первый был при создании Discovery для BulkWalk, он должен быть следующим:

Discovery discovery = Messenger.GetNextDiscovery(SnmpType.GetBulkRequestPdu);

Ключевой частью является получение SnmpType правильно (мой код выше SnmpType.GetRequestPdu и не SnmpType.Get Bulk RequestPdu). В учебнике не упоминается, что SnmpType отличается.

Во-вторых, при передаче параметров в метод Messenger.BulkWalk () я передавал имя сообщества, а не имя пользователя. Замечания по исходному коду для метода BulkWalk действительно говорят имя сообщества, но это должен быть пользователь.

Я сделал, как предложил Лекс Ли, и выполнил / проверил образец snmpwalk, чтобы убедиться в отсутствии проблем. После этого я вернулся и просмотрел исходный код этого примера и обнаружил две проблемы.

0
ответ дан Red_Phoenix 1 March 2019 в 16:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: