У меня была проблема с получением целевого IP-адреса из полученного pdu.Функция getPeerAddress () дала мне IP-адрес отправителя.Но то, что я хочу, - это ip-адрес или имя хоста в команде / полученном pdu.
Например, "10.255.255.221" из
snmpset -v 1 -c M 10.255. **. 221 1.3.6.1.4.1.161.3.6.37.2.6.1.1.4.2 i 3.
Я пробовал getAgentAdress для pduV1, но ничего не отображается.
public synchronized void processPdu(CommandResponderEvent cmdRespEvent) {
System.out.println("Received PDU...");
String retrieveIP = cmdRespEvent.getPeerAddress().toString().split("/")[0];
System.out.println("Received PDU from " + retrieveIP +"\n");
PDU pdu = cmdRespEvent.getPDU();
System.out.println(" PDU Type = " + PDU.getTypeString(pdu.getType()));
System.out.println("Trap Type = " + pdu.getType());
System.out.println("IP Address = " + ((PDUv1) pdu).getAgentAddress().toString());
String updateValue = pdu.get(0).getVariable().toString();
System.out.println("updateValue ="+updateValue);
}
РЕДАКТИРОВАНИЕ: У моей машины несколько IP-адресов