org.snmp4j.MessageException: 요청한 주소를 할당할 수 없습니다: 데이터그램 전송 실패

문제 배경

SNMP Trap V3 버전 경보 데이터를 로컬로 보내는 것을 테스트했을 때 프로그램에서 다음 오류를 보고했습니다.

org.snmp4j.MessageException: Cannot assign requested address: Datagram send failed
    at org.snmp4j.MessageDispatcherImpl.sendPdu(MessageDispatcherImpl.java:514)
    at org.snmp4j.Snmp.sendMessage(Snmp.java:1005)
    at org.snmp4j.Snmp.send(Snmp.java:885)
    at org.snmp4j.Snmp.send(Snmp.java:878)
    at org.snmp4j.Snmp.send(Snmp.java:843)
    at mirale.luna.snmp.trap.SnmpSendTrapV3.sendPDU(SnmpSendTrapV3.java:80)
    at mirale.luna.snmp.trap.SnmpSendTrapV3.main(SnmpSendTrapV3.java:88)

여기에 이미지 설명을 삽입하세요.

문제 원인

트랩 수신자 주소 설정시 IP가 0.0.0.0 으로 설정되어 오류가 발생했습니다!

Address targetAddress = GenericAddress.parse("udp:0.0.0.0/162");

해결책

Trap 알람을 보내고 받기 위한 로컬 테스트이므로 수신자 IP를 0.0.0.0에서 127.0.0.1로 변경하면 됩니다.

수정 후:

Address targetAddress = GenericAddress.parse("udp:127.0.0.1/162");

SNMP Trap V3 경보 데이터가 성공적으로 전송될 수 있습니다.
여기에 이미지 설명을 삽입하세요.


추천

출처blog.csdn.net/aikudexiaohai/article/details/133509389