| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Работа с сетью > Чтение таблицы mac адресов посредством SNMP |
| Автор: GrafCharodey 19.10.2009, 15:08 | ||
| Здравствуйте! Я столкнулся с проблемой чтения mac адресов с управляемого свитча, точнее не могу полностью понять технологию работы библиотеки snmp4j. Вот код который формирует пакет snmp, отсылает его на указанный адрес и получает ответ.
В принципе всё работает, но проблема в том что я получаю только первый mac адрес и всё. Никак не могу разобраться как получить остальные. Заранее благодарен! Помогите, очень надо! |
| Автор: vanishox 8.12.2009, 14:03 |
| Я тоже пытался разобраться с этой библиотекой. У меня тоже возникала проблема - GETNEXT - ом дергал только 1-й mac. Нашел библиотеку - AdventNetSNMPAPI_4_Std. ---------------------------------------------------------------------------------------------------------------------------------------------------------- public Snmp(String swIP) { SwitchIP = swIP; snmpTarget = new SnmpTarget(); snmpTarget.setTargetHost(swIP); snmpTarget.setTargetPort(161); snmpTarget.setTimeout(1); snmpTarget.setRetries(1); snmpTarget.setSnmpVersion(snmpTarget.VERSION2C); snmpTarget.setCommunity("public"); com.adventnet.snmp.snmp2.SnmpVarBind[][] result = null; // результат опроса коммутатора, выбирает все данные принятые в ответ на запрос. } public void run(){ try{ arrayList = new ArrayList(); snmpTarget.setObjectID(.........OID(String)...........); arrayList.add(snmpTarget.snmpGetNext()); snmpTarget.setObjectID(.........OID(String)...........); arrayList.add(snmpTarget.snmpGet().substring(0)); snmpTarget.setObjectID(.........OID(String)...........); arrayList.add(snmpTarget.snmpGet()); snmpTarget.setObjectID(.........OID(String)...........; arrayList.add(snmpTarget.snmpGetNext()); snmpTarget.setObjectID(.........OID(String)...........); arrayList.add(snmpTarget.snmpGetNext()); snmpTarget.setObjectID(.........OID(String)...........; result = snmpTarget.snmpGetAllVariableBindings(); // - получение данных! }catch(Exception e){ new ErrorLog(SwitchIP+".err",SwitchIP + "<|>" + " Ошибка инициализации объекта SNMP."); } ---------------------------------------------------------------------------------------------------------------------------------------------------------- могу прислать библиотеку. |
| Автор: DJFractal 9.2.2010, 12:00 |
| У меня не работает ни один из этих примеров, в чем может быть проблема, все-время возвращает значение 0 |
| Автор: Evgin 16.2.2010, 14:45 | ||
Рабочий код. Получения нескольких полей из таблицы сетевых интерфейсов и вывод в виде таблички в конссоль.
|