본문 바로가기
java

snmp4j 컨닝페이퍼

by 포잉띠 2024. 9. 10.

org.snmp4j 라이브러리의 주요 인터페이스와 클래스, 그들의  메소드를 가볍게 정리하겠다.

 

snmp4j API 주소는 아래이다.

https://agentpp.com/doc/snmp4j/org.snmp4j/module-summary.html

 

org.snmp4j (SNMP4J 3.8.2)

module org.snmp4j Copyright 2005-2024 Frank Fock (SNMP4J.org)

agentpp.com

 

 

주요 인터페이스

SNMP

  • SNMP 프로토콜의 핵심 인터페이스
  • SNMP 메시지를 송수신하는 기능을 제공한다.
  • 주요 메소드
    • send(PDU pdu, Target target) : SNMP 메시지 송신

PDU (Protocol Data Unit)

  • SNMP 메시지를 표현하는 인터페이스
  • 요청, 응답, 오류 메시지(GET, REPORT, TRAP) 등의 다양한 유형을 포함할 수 있다.
  • 주요 메소드 
    • add(VariableBinding vb) : PDU에 변수 바인딩을 추가
    • setType(int type) : PDU의 타입을 설정한다. (GET, SET, TRAP 등)

Target

  • SNMP 요청을 보낼 대상이나 장비를 정의하는 인터페이스
  • CommunityTarget이나 UserTarget을 통해 구현된다.
  • 주요 메소드
    • setAddress(Address address) : 요청을 보낼 주소를 설정한다
    • setRetries(int retries) : 재시도 횟수를 설정한다.

ResponseEvent

  • SNMP 요청의 응답을 표현하는 인터페이스
  • 요청에 대한 응답을 처리하는 데 사용된다.
  • 주요 메소드
    • getResponse() : 응답 PDU를 반환한다.

 

주요 클래스

SNMP

  • SNMP의 주요 클래스 중 하나로, SNMP메시지를 송수신하는 기능을 제공한다.
  • 주요 메소드
    • send(PDU pdu, Target target) : PDU를 대상에 전송한다.
    • addCommandResponder(CommandResponder responder) : 응답 처리를 위한 리스너를 추가

CommunityTarget

  • SNMPv1 및 SNMPv2c에서 사용되는 타겟 클래스
  • 커뮤니티 문자열을 통해 인증을 처리한다.
  • 주요 메소드
    • setCommunity(String community) : 커뮤니티 문자열을 설정한다.
    • setVersion(int version) : SNMP 버전을 설정한다.

UserTarget

  • SNMPv3에서 사용되는 타겟 클래스
  • 사용자 기반 인증과 암호화를 지원한다.
  • 주요 메소드
    • setSecurityName(String securityName) : 보안 이름을 설정한다.
    • setSecurityLevel(int securityLevel) : 보안 수준을 설정한다.

PDU (구체적인 구현)

  • GetRequest, SetRequest, Trap 등 PDU의 구체적인 구현 클래스들이 있다.

CommandResponder

  • SNMP 요청에 대한 응답을 처리하는 리스너를 정의하는 인터페이스
  • 주요 메소드
    • processPdu(CommandResponderEvent event) : PDU를 처리하는 메소드