我正在使用WebNMS / adventnet在设备上获取和设置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();
}
}
答案 0 :(得分:0)
我建议这个指示:
result.getVariableBindings().toString();
获取OID的字符串值。