有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从SNMP4j陷阱接收器获取目标Ip地址

我使用snmp4j创建snmp陷阱接收器。我设法接收pdu并处理它。我需要目标ip地址,因为我的机器有多个ip地址。我可以从两个方面考虑:

  1. 在陷阱接收器中检索整个命令,即“snmpset-v1-cmxx.xxx.x.x1.3.6.1.4.1.161.3.6.37.2.1.3.2i2”,以便通过删除其他字符串获得ip地址。“但我能检索到的只有变量、值和pdu类型
  2. 使用方法检索目标ip地址。但是找不到。我使用了event.getTransportMapping().getListenAddress(),但是得到了0.0.0.0/161,因为我需要监听许多ip地址。已使用event.getPeerAddress(),但正在获取发件人计算机的ip地址

非常感谢您的帮助。提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    如果您试图处理陷阱接收器的安全性,那么使用snmp v3处理此问题是错误的。v3具有称为引擎ID的安全机制

  2. # 2 楼答案

    解决者:

    UdpAddress udpHostAdress = (UdpAddress) cmdRespEvent.getTransportMapping().getListenAddress();
    String ipAdd = udpHostAdress.getInetAddress().getHostAddress();
    System.out.println("Target IP = " + ipAdd);