?? snmptftptest.java
字號:
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import org.opennms.protocols.snmp.SnmpParameters;
import org.opennms.protocols.snmp.SnmpPduPacket;
import org.opennms.protocols.snmp.SnmpPduRequest;
import org.opennms.protocols.snmp.SnmpPeer;
import org.opennms.protocols.snmp.SnmpSMI;
import org.opennms.protocols.snmp.SnmpSession;
public class SnmptftpTest {
boolean snmpRequest(String RemoteAddr, String Community, String FileName, String FileType, String Flag)
{
String FailureCause=null;
int ft;
snmptftp walker = new snmptftp();
walker.setCommunity(RemoteAddr, Community);
if( FileType.equals("startupConfig"))
ft = 3;
else if(FileType.equals("runningConfig"))
ft = 4;
else if(FileType.equals("iosFile"))
ft = 2;
else
{
FailureCause = "參數(文件類型)錯誤";
return false;
}
walker.setVarValue(FileName, Flag.equals("T"), ft);
InetAddress remote = null;
try
{
remote = InetAddress.getByName(walker.m_host);
}
catch(UnknownHostException e)
{
System.err.println("UnknownHostException: " + e.getMessage());
FailureCause = "參數(路由器地址)錯誤";
return false;
}
SnmpPeer peer = new SnmpPeer(remote);
if(walker.m_port != -1)
peer.setPort(walker.m_port);
if(walker.m_timeout != -1)
peer.setTimeout(walker.m_timeout);
if(walker.m_retries != -1)
peer.setRetries(walker.m_retries);
SnmpParameters parms = peer.getParameters();
parms.setVersion(SnmpSMI.SNMPV2);
if(walker.m_community != null)
{
parms.setWriteCommunity(walker.m_community);
parms.setReadCommunity(walker.m_community);
}
//
// Now create the session, set the initial request
// and walk the tree!
//
SnmpSession session = null;
try
{
session = new SnmpSession(peer);
}
catch(SocketException e)
{
System.err.println("SocketException creating the SNMP session");
System.err.println("SocketException: " + e.getMessage());
FailureCause = "SNMP請求失敗,建立連接錯誤";
return false;
}
session.setDefaultHandler(walker);
SnmpPduRequest pdu = new SnmpPduRequest(SnmpPduPacket.SET);
pdu.addVarBindAt(0, walker.m_mibvar[walker.start_ndx]);
pdu.setRequestId(SnmpPduPacket.nextSequence());
try
{
synchronized(session)
{
session.send(pdu);
session.wait();
}
}
catch(InterruptedException e)
{
// do nothing
}
finally
{
session.close();
}
FailureCause = walker.getFailureCause();
return walker.getResult();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -