Здравствуйте!
Я использую библиотеку snmp4j, у меня возникла проблема с чтением arp таблицы со свитча. Читаются только данные той машины с которой отправляется запрос. Вот мой код:
Код | public Packadg(String address, String NameRead, int version, long timeout){ this.address = address; this.NameRead = NameRead; this.version = version; this.timeout = timeout;
try{ snmp = new Snmp(new DefaultUdpTransportMapping()); } catch(IOException e){ System.out.println("Не могу создать SNMP"); }
target = new CommunityTarget(); Address targetAddress = GenericAddress.parse("udp:" + address + "/161");
target.setAddress(targetAddress); target.setRetries(2);
if(version == 1) target.setVersion(SnmpConstants.version1); else if(version == 2) target.setVersion(SnmpConstants.version2c); else if(version == 3) target.setVersion(SnmpConstants.version3);
target.setTimeout(timeout);
if(NameRead == null) target.setCommunity(new OctetString("public")); else target.setCommunity(new OctetString(NameRead)); }
public synchronized String snmpGetTable(String[] oid){
try{ snmp.listen(); } catch(IOException e){ System.out.println("Не могу слушать SNMP"); }
TableUtils utils = new TableUtils(snmp, new DefaultPDUFactory());
OID lowerIndex = null; OID upperIndex = null;
OID[] arr = new OID[oid.length]; for(int i = 0;i < oid.length;i++){ arr = new OID(oid); } List list = utils.getTable(target, arr, lowerIndex, upperIndex);
return list.toString();
}
|
Как прочитать всю таблицу? Заранее благодарен! |