資源簡介
java實現的簡單網絡管理協議!附件是整個工程,下載下來配置ip就可以運行,附有mib庫,支持snmpV1,V2,V3版本協議!絕對是好資源,為了兼容移動的網絡設備控制,研究了一段時間,現分享出來。不懂得可以找我
代碼片段和文件信息
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;
/**
?*?代理實現類
?*?
?*?@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);
//?系統自動生成localEngineID
//?localEngineID?=?MPv3.createLocalEngineID();
localEngineID?=?“測試程序“.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
- 上一篇:java 客戶關系管理系統
- 下一篇:動態代理cglibjar包和源碼
評論
共有 條評論