Получить целевой IP-адрес от получателя ловушек SNMP4j - PullRequest
0 голосов
/ 24 января 2019

Я создаю приемник snmp trap используя snmp4j.Мне удалось получить ПДУ и обработать его.Мне нужен целевой IP-адрес, поскольку у моей машины несколько IP-адресов.Я мог подумать обоими способами:

  1. Получить всю команду в моем приемнике прерываний, которая называется "snmpset -v 1 -c M xx.xxx.xx 1.3.6.1.4.1.161.3.6.37.2.1.3.2 i 2 «чтобы я мог получить IP-адрес, удалив другие строки.» Но единственное, что я мог извлечь, это только переменная, значение и тип pdu.
  2. Использование метода для получения целевого IP-адреса.Но я не смог его найти. Я использовал event.getTransportMapping().getListenAddress(), но получил 0.0.0.0/161, так как мне нужно было прослушать много IP-адресов. Использовал event.getPeerAddress(), но получил IP-адрес компьютера отправителя.

Очень признателен за любую помощь. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 12 марта 2019

Решено:

UdpAddress udpHostAdress = (UdpAddress) cmdRespEvent.getTransportMapping().getListenAddress();
String ipAdd = udpHostAdress.getInetAddress().getHostAddress();
System.out.println("Target IP = " + ipAdd); 
0 голосов
/ 13 февраля 2019

Если вы пытаетесь управлять безопасностью приемника ловушек, вы ошибаетесь, используйте snmp v3 для этого.v3 имеет механизм безопасности под названием Engine ID.

...