我使用snmp4j创建snmp陷阱接收器。我设法收到pdu并处理它。我需要有针对性的IP地址,因为我的机器有多个ip地址。我可以用两种方式思考:
event.getTransportMapping().getListenAddress()
但得到0.0.0.0/161因为我需要听很多ip地址。使用event.getPeerAddress()
但获取发件人机器的IP地址。非常感谢任何帮助。提前致谢。
解决方法:
UdpAddress udpHostAdress = (UdpAddress) cmdRespEvent.getTransportMapping().getListenAddress();
String ipAdd = udpHostAdress.getInetAddress().getHostAddress();
System.out.println("Target IP = " + ipAdd);
如果您正在尝试处理陷阱接收器的安全性,那么您在这里使用snmp v3来解决此问题。 v3具有称为引擎ID的安全机制。