資源簡(jiǎn)介
java實(shí)現(xiàn)的簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議!附件是整個(gè)工程,下載下來(lái)配置ip就可以運(yùn)行,附有mib庫(kù),支持snmpV1,V2,V3版本協(xié)議!絕對(duì)是好資源,為了兼容移動(dòng)的網(wǎng)絡(luò)設(shè)備控制,研究了一段時(shí)間,現(xiàn)分享出來(lái)。不懂得可以找我
代碼片段和文件信息
package?com.cvicse.test.cs;
import?java.io.IOException;
import?java.net.InetAddress;
import?java.net.UnknownHostException;
import?java.util.Vector;
import?org.snmp4j.CommandResponder;
import?org.snmp4j.CommandResponderEvent;
import?org.snmp4j.PDU;
import?org.snmp4j.Snmp;
import?org.snmp4j.TransportMapping;
import?org.snmp4j.mp.StateReference;
import?org.snmp4j.mp.StatusInformation;
import?org.snmp4j.security.AuthMD5;
import?org.snmp4j.security.PrivDES;
import?org.snmp4j.security.SecurityModels;
import?org.snmp4j.security.SecurityProtocols;
import?org.snmp4j.security.USM;
import?org.snmp4j.security.UsmUser;
import?org.snmp4j.smi.OID;
import?org.snmp4j.smi.OctetString;
import?org.snmp4j.smi.UdpAddress;
import?org.snmp4j.smi.VariableBinding;
import?org.snmp4j.transport.DefaultUdpTransportMapping;
import?com.cvicse.test.mib.MibDao;
/**
?*?代理實(shí)現(xiàn)類
?*?
?*?@author?Administrator
?*?
?*/
public?class?SnmpAgent?{
public?static?byte[]?localEngineID;
private?static?SnmpAgent?m_agent?=?null;
public?static?SnmpAgent?getInstance()?{
if?(m_agent?==?null)?{
m_agent?=?new?SnmpAgent();
}
return?m_agent;
}
public?void?setEngineId(byte[]?id)?{
localEngineID?=?id;
}
public?byte[]?getEngineId()?{
return?localEngineID;
}
public?static?class?Handler?implements?CommandResponder?{
protected?java.lang.String?mAddress?=?null;
protected?int?mPort?=?0;
protected?String?mMyCommunityName?=?null;
protected?TransportMapping?mServerSocket?=?null;
protected?Snmp?mSNMP?=?null;
protected?String?value?=?null;
private?byte[]?localEngineID_pri;
public?Handler()?{
}
public?void?configure()?{
mAddress?=?“192.168.11.2“;
mPort?=?161;
mMyCommunityName?=?“OAagent“;
}
public?void?start(OctetString?securityName?OID?authProtocol
OctetString?authPass?OID?privacyProtocol
OctetString?privacyPass)?{
try?{
mServerSocket?=?new?DefaultUdpTransportMapping(new?UdpAddress(
InetAddress.getByName(mAddress)?mPort));
mSNMP?=?new?Snmp(mServerSocket);
//?系統(tǒng)自動(dòng)生成localEngineID
//?localEngineID?=?MPv3.createLocalEngineID();
localEngineID?=?“測(cè)試程序“.getBytes();
USM?usm?=?new?USM(SecurityProtocols.getInstance()
new?OctetString(localEngineID)?0);
SecurityModels.getInstance().addSecurityModel(usm);
mSNMP.setLocalEngine(localEngineID?0?0);
UsmUser?user?=?new?UsmUser(securityName?authProtocol
authPass?privacyProtocol?privacyPass);
mSNMP.getUSM().addUser(securityName?user);
mSNMP.addCommandResponder(this);
mServerSocket.listen();
}?catch?(UnknownHostException?vException)?{
System.out.println(vException);
}?catch?(IOException?vException)?{
System.out.println(vException);
}
}
@Override
public?void?processPdu(CommandResponderEvent?aEvent)?{
PDU?command?=?aEvent.getPDU();
if?(command?!=?null)?{
System.out.println(“success!“);
}
St
評(píng)論
共有 條評(píng)論