Snmp4j程式設計簡介之一

2021-07-29 05:37:26 字數 2139 閱讀 9276

snmp4j程式設計簡介之一:target

關於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採用基於使用者的安全(usm)方式,安全效能得到很大提高。

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

void setcommunity(octetstring community)

octetstring getcommunity()

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

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

void setsecuritylevel(int level)

int   getsecuritylevel()

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

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的說明文件)

community target 

communitytarget target = new communitytarget();

target.setcommunity(new octetstring("public"));

target.setaddress(targetaddress);

target.setversion(snmpconstants.version1);user target 

usertarget target = new usertarget();

target.setaddress(targetaddress);

target.setretries(1);

// set timeout to 500 milliseconds -> 2*500ms = 1s total timeout

target.settimeout(500);

target.setversion(snmpconstants.version3);

target.setsecuritylevel(securitylevel.auth_priv);

target.setsecurityname(new octetstring("md5des"));

Snmp4j程式設計簡介之一

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

Snmp4j程式設計簡介之一 Target

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

Snmp4j程式設計簡介之一 Target

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