我正在使用WebNMS/冒险网获取和设置设备上的SNMP命令。
当调试模式打开时,我想以编程方式访问以十六进制格式打印的请求和响应数据。
import com.adventnet.snmp.snmp2.SnmpAPI;
import com.adventnet.snmp.snmp2.SnmpException;
import com.adventnet.snmp.snmp2.SnmpOID;
import com.adventnet.snmp.snmp2.SnmpPDU;
import com.adventnet.snmp.snmp2.SnmpSession;
import com.adventnet.snmp.snmp2.UDPProtocolOptions;
public class SNMPWebNMS {
//Need both request and response in hex format
//It prints in log , request and response data in hex format
public static void main(String[] args) throws SnmpException {
SnmpAPI api=new SnmpAPI();
api.setDebug(true);
SnmpSession session=new SnmpSession(api);
session.open();
SnmpPDU pdu=new SnmpPDU();
UDPProtocolOptions options=new UDPProtocolOptions("192.168.0.1");
pdu.setProtocolOptions(options);
pdu.setCommunity("dummy");
pdu.setCommand(SnmpAPI.GET_REQ_MSG);
SnmpOID oid=new SnmpOID(".1.3.6.1.2.1.1.1.0");
pdu.addNull(oid);
SnmpPDU result=session.syncSend(pdu);
System.out.println("result = "+result.toString());
session.close();
}
}发布于 2016-12-05 13:44:03
我建议这样做:
result.getVariableBindings().toString();若要获取字符串值OID,请执行以下操作。
https://stackoverflow.com/questions/31653990
复制相似问题