Snmp4j程式設計簡介之一 Target

2021-04-19 00:55:36 字數 1504 閱讀 9505

關於snmp4j包,最重要三個概念,也是三個類:snmp、target、pdu。

target,表示被管理的裝置。對於乙個被管理的裝置,我們關注它的address,它使用的協議版本version,訪問它的使用者名稱和密碼、以及對這個裝置我們設定跟它打交道的一些策略,比如超時時間、重傳次數等。所以有如下方法:

1)獲取或者設定ip位址

void setaddress(address address)  

address getaddress()

2)設定或者獲取版本號(支援v1,v2c,v3)

void setversion(int ver)

int   getversion()

3)超時時間 ( 單位:milliseconds )

void   settimeout(long out)

long gettimeout()

4)重傳次數

void   setretries(int retries)

int   getretries()

5)最大pdu大小值

void setmaxsizerequestpdu(int max)

int   getmaxsizerequestpdu()

上面這些對於snmp三個版本都是相同的,不同的只是在於安全方面,具體來說,snmpv1,v2c採用共同體(community)方式,安全性很差;snmpv3採用基於使用者的安全(u**)方式,安全效能得到很大提高。

(1) 對於snmpv1,v2c,使用target派生出乙個子類communitytarget,增加了對community的方法:

void setcommunity(octetstring community)

octetstring getcommunity()

(2)對於snmpv3,使用其子類usertarget,增加了一些有關u**安全方面的設定,比如採用的安全模型、安全級別、訪問該裝置的使用者名稱以及權威引擎id(authoritative engine id):

i)安全級別(支援三種安全級別)

void setsecuritylevel(int level)

int   getsecuritylevel()

ii)訪問使用者名稱(該訪問使用者名稱必須在設定u**的時候新增其相應的u**user)

void setsecurityname(octetstring name)

octetstring   getsecurityname()

iii)安全模型(支援三種安全模型)

void setsecuritymodel(int model)

int   getsecuritymodel()

v)權威引擎id(authoritative engine id)

void   setauthoritativeengineid(byte id)

byte getauthoritativeengineid()

對於target的**大致如下:(摘自snmp4j的說明文件)

Snmp4j程式設計簡介之一

snmp4j程式設計簡介之一 target 關於snmp4j包,最重要三個概念,也是三個類 snmp target pdu。target,表示被管理的裝置。對於乙個被管理的裝置,我們關注它的address,它使用的協議版本version,訪問它的使用者名稱和密碼 以及對這個裝置我們設定跟它打交道的一...

Snmp4j程式設計簡介之一

snmp4j程式設計簡介之一 target 關於snmp4j包,最重要三個概念,也是三個類 snmp target pdu。target,表示被管理的裝置。對於乙個被管理的裝置,我們關注它的address,它使用的協議版本version,訪問它的使用者名稱和密碼 以及對這個裝置我們設定跟它打交道的一...

Snmp4j程式設計簡介之一 Target

關於snmp4j包,最重要三個概念,也是三個類 snmp target pdu。target,表示被管理的裝置。對於乙個被管理的裝置,我們關注它的address,它使用的協議版本version,訪問它的使用者名稱和密碼 以及對這個裝置我們設定跟它打交道的一些策略,比如超時時間 重傳次數等。所以有如下...