關於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的說明文件)
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,訪問它的使用者名稱和密碼 以及對這個裝置我們設定跟它打交道的一些策略,比如超時時間 重傳次數等。所以有如下...