📄 snmptftp.java
字号:
// Decompiled by DJ v3.9.9.91 Copyright 2005 Atanas Neshkov Date: 2008-4-11 9:46:41
// Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version!
// Decompiler options: fullnames
// Source File Name: SnmpTftpServlet.java
import java.io.PrintStream;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.StringTokenizer;
import org.opennms.protocols.snmp.SnmpHandler;
import org.opennms.protocols.snmp.SnmpIPAddress;
import org.opennms.protocols.snmp.SnmpInt32;
import org.opennms.protocols.snmp.SnmpObjectId;
import org.opennms.protocols.snmp.SnmpOctetString;
import org.opennms.protocols.snmp.SnmpPduPacket;
import org.opennms.protocols.snmp.SnmpPduRequest;
import org.opennms.protocols.snmp.SnmpSession;
import org.opennms.protocols.snmp.SnmpSyntax;
import org.opennms.protocols.snmp.SnmpVarBind;
class snmptftp
implements org.opennms.protocols.snmp.SnmpHandler
{
snmptftp()
{
m_community = null;
m_retries = 2;
m_timeout = 5000;
m_port = 161;
m_host = "172.16.1.3";
m_result = false;
ndx = 0;
}
public void snmpInternalError(org.opennms.protocols.snmp.SnmpSession snmpsession, int i, org.opennms.protocols.snmp.SnmpSyntax snmpsyntax)
{
java.lang.System.err.println("An unexpected error occured with the SNMP Session");
java.lang.System.err.println("The error code is " + i);
failure_cause = "SNMP\u8BF7\u6C42\u5931\u8D25\uFF0C\u7A0B\u5E8F\u5185\u90E8\u9519\u8BEF";
synchronized(snmpsession)
{
snmpsession.notify();
}
}
public void snmpTimeoutError(org.opennms.protocols.snmp.SnmpSession snmpsession, org.opennms.protocols.snmp.SnmpSyntax snmpsyntax)
{
java.lang.System.err.println("The session timed out trying to communicate with the remote host");
m_result = false;
failure_cause = "SNMP\u8BF7\u6C42\u5931\u8D25\uFF0C\u53EF\u80FD\u8DEF\u7531\u5668\u5730\u5740\u6216\u8005Community\u4E0D\u5B58\u5728";
synchronized(snmpsession)
{
snmpsession.notify();
}
}
public void snmpReceivedPdu(org.opennms.protocols.snmp.SnmpSession snmpsession, int i, org.opennms.protocols.snmp.SnmpPduPacket snmppdupacket)
{
org.opennms.protocols.snmp.SnmpPduRequest snmppdurequest = null;
if(snmppdupacket instanceof org.opennms.protocols.snmp.SnmpPduRequest)
snmppdurequest = (org.opennms.protocols.snmp.SnmpPduRequest)snmppdupacket;
if(snmppdupacket.getCommand() != 162)
{
java.lang.System.err.println("Error: Received non-response command " + snmppdupacket.getCommand());
failure_cause = "SNMP\u8BF7\u6C42\u5931\u8D25\uFF0C\u7A0B\u5E8F\u5185\u90E8\u9519\u8BEF";
synchronized(snmpsession)
{
snmpsession.notify();
}
return;
}
if(snmppdurequest.getErrorStatus() != 0)
{
java.lang.System.out.println("End of mib reached");
failure_cause = "SNMP\u8BF7\u6C42\u5931\u8D25\uFF0C\u65E0\u6CD5\u83B7\u5F97MIB\u503C";
ndx = 20;
}
org.opennms.protocols.snmp.SnmpVarBind snmpvarbind = snmppdupacket.getVarBindAt(0);
java.lang.System.out.println(snmpvarbind.getName().toString() + ": " + snmpvarbind.getValue().toString());
if(snmpvarbind.getValue().typeId() == -126)
{
java.lang.System.out.println("End of mib reached");
failure_cause = "SNMP\u8BF7\u6C42\u5931\u8D25\uFF0C\u65E0\u6CD5\u83B7\u5F97MIB\u503C";
ndx = 20;
}
if(ndx - start_ndx < 5)
{
org.opennms.protocols.snmp.SnmpPduRequest snmppdurequest1 = new SnmpPduRequest(163);
ndx++;
snmppdurequest1.addVarBindAt(0, m_mibvar[ndx]);
snmppdurequest1.setRequestId(org.opennms.protocols.snmp.SnmpPduPacket.nextSequence());
snmpsession.send(snmppdurequest1);
} else
if(ndx - start_ndx == 5)
{
org.opennms.protocols.snmp.SnmpPduRequest snmppdurequest2 = new SnmpPduRequest(160);
ndx++;
snmppdurequest2.addVarBindAt(0, m_mibvar[ndx]);
snmppdurequest2.setRequestId(org.opennms.protocols.snmp.SnmpPduPacket.nextSequence());
snmpsession.send(snmppdurequest2);
} else
if(ndx - start_ndx == 6)
{
org.opennms.protocols.snmp.SnmpInt32 snmpint32 = (org.opennms.protocols.snmp.SnmpInt32)snmpvarbind.getValue();
int j = snmpint32.getValue();
if(start_ndx == 0 && j == 2 || start_ndx == 8 && j == 1)
{
try
{
java.lang.Thread.sleep(1000L);
}
catch(java.lang.InterruptedException interruptedexception) { }
org.opennms.protocols.snmp.SnmpPduRequest snmppdurequest3 = new SnmpPduRequest(160);
snmppdurequest3.addVarBindAt(0, m_mibvar[ndx]);
snmppdurequest3.setRequestId(org.opennms.protocols.snmp.SnmpPduPacket.nextSequence());
snmpsession.send(snmppdurequest3);
} else
if(start_ndx == 0 && j != 2)
{
if(j == 3)
{
m_result = true;
org.opennms.protocols.snmp.SnmpPduRequest snmppdurequest4 = new SnmpPduRequest(163);
m_mibvar[5].setValue(new SnmpInt32(6));
snmppdurequest4.addVarBindAt(0, m_mibvar[5]);
snmppdurequest4.setRequestId(org.opennms.protocols.snmp.SnmpPduPacket.nextSequence());
snmpsession.send(snmppdurequest4);
ndx = 20;
} else
if(j == 4)
{
ndx++;
org.opennms.protocols.snmp.SnmpPduRequest snmppdurequest5 = new SnmpPduRequest(160);
snmppdurequest5.addVarBindAt(0, m_mibvar[ndx]);
snmppdurequest5.setRequestId(org.opennms.protocols.snmp.SnmpPduPacket.nextSequence());
snmpsession.send(snmppdurequest5);
}
} else
if(start_ndx == 8 && j != 1)
{
if(j == 2)
m_result = true;
else
failure_cause = "TFTP\u4F20\u8F93\u5931\u8D25(" + IosfileFailure[j - 3] + ")";
org.opennms.protocols.snmp.SnmpPduRequest snmppdurequest6 = new SnmpPduRequest(163);
m_mibvar[13].setValue(new SnmpInt32(6));
snmppdurequest6.addVarBindAt(0, m_mibvar[13]);
snmppdurequest6.setRequestId(org.opennms.protocols.snmp.SnmpPduPacket.nextSequence());
snmpsession.send(snmppdurequest6);
ndx = 20;
}
} else
if(ndx == 7)
{
org.opennms.protocols.snmp.SnmpInt32 snmpint32_1 = (org.opennms.protocols.snmp.SnmpInt32)snmpvarbind.getValue();
int k = snmpint32_1.getValue();
failure_cause = "TFTP\u4F20\u8F93\u5931\u8D25(" + ConfigFailure[k - 1] + ")";
org.opennms.protocols.snmp.SnmpPduRequest snmppdurequest7 = new SnmpPduRequest(163);
m_mibvar[5].setValue(new SnmpInt32(6));
snmppdurequest7.addVarBindAt(0, m_mibvar[5]);
snmppdurequest7.setRequestId(org.opennms.protocols.snmp.SnmpPduPacket.nextSequence());
snmpsession.send(snmppdurequest7);
ndx = 20;
} else
{
synchronized(snmpsession)
{
snmpsession.notify();
}
}
}
public void setCommunity(java.lang.String s, java.lang.String s1)
{
m_host = s;
m_community = s1;
}
public void setVarValue(java.lang.String s, boolean flag, int i)
{
java.net.InetAddress inetaddress = null;
try
{
inetaddress = java.net.InetAddress.getByName("202.103.106.10");
}
catch(java.net.UnknownHostException unknownhostexception)
{
java.lang.System.err.println("UnknownHostException: " + unknownhostexception.getMessage());
}
if(i == 2)
{
java.util.StringTokenizer stringtokenizer = new StringTokenizer(s, "_");
java.lang.String s1 = null;
start_ndx = 8;
ndx = 8;
for(int j = 0; stringtokenizer.hasMoreTokens() && j < 2; j++)
s1 = stringtokenizer.nextToken();
if(flag)
{
m_mibvar[8].setValue(new SnmpInt32(3));
m_mibvar[9].setValue(new SnmpInt32(1));
m_mibvar[10].setValue(new SnmpIPAddress(inetaddress.getAddress()));
m_mibvar[11].setValue(new SnmpOctetString(s1.getBytes()));
m_mibvar[12].setValue(new SnmpOctetString(s.getBytes()));
m_mibvar[13].setValue(new SnmpInt32(1));
} else
{
m_mibvar[8].setValue(new SnmpInt32(1));
m_mibvar[9].setValue(new SnmpInt32(1));
m_mibvar[10].setValue(new SnmpIPAddress(inetaddress.getAddress()));
m_mibvar[11].setValue(new SnmpOctetString(s.getBytes()));
m_mibvar[12].setValue(new SnmpOctetString(s1.getBytes()));
m_mibvar[13].setValue(new SnmpInt32(1));
}
} else
{
ndx = 0;
start_ndx = 0;
m_mibvar[0].setValue(new SnmpInt32(1));
if(flag)
{
m_mibvar[1].setValue(new SnmpInt32(i));
m_mibvar[2].setValue(new SnmpInt32(1));
} else
{
m_mibvar[1].setValue(new SnmpInt32(1));
m_mibvar[2].setValue(new SnmpInt32(i));
}
m_mibvar[3].setValue(new SnmpIPAddress(inetaddress.getAddress()));
m_mibvar[4].setValue(new SnmpOctetString(s.getBytes()));
m_mibvar[5].setValue(new SnmpInt32(1));
}
}
public boolean getResult()
{
return m_result;
}
public java.lang.String getFailureCause()
{
return failure_cause;
}
java.lang.String m_community;
int m_retries;
int m_timeout;
int m_port;
java.lang.String m_host;
private static java.lang.String IosfileFailure[] = {
"copyInvalidOperation", "copyInvalidProtocol", "copyInvalidSourceName", "copyInvalidDestName", "copyInvalidServerAddress", "copyDeviceBusy", "copyDeviceOpenError", "copyDeviceError", "copyDeviceNotProgrammable", "copyDeviceFull",
"copyFileOpenError", "copyFileTransferError", "copyFileChecksumError", "copyNoMemory", "copyUnknownFailure"
};
private static java.lang.String ConfigFailure[] = {
"unknown", "badFileName", "timeout", "noMem", "noConfig"
};
private boolean m_result;
private java.lang.String failure_cause;
public static org.opennms.protocols.snmp.SnmpVarBind m_mibvar[];
private int ndx;
public int start_ndx;
static
{
m_mibvar = null;
m_mibvar = new org.opennms.protocols.snmp.SnmpVarBind[17];
m_mibvar[0] = new SnmpVarBind(".1.3.6.1.4.1.9.9.96.1.1.1.1.2.777");
m_mibvar[1] = new SnmpVarBind(".1.3.6.1.4.1.9.9.96.1.1.1.1.3.777");
m_mibvar[2] = new SnmpVarBind(".1.3.6.1.4.1.9.9.96.1.1.1.1.4.777");
m_mibvar[3] = new SnmpVarBind(".1.3.6.1.4.1.9.9.96.1.1.1.1.5.777");
m_mibvar[4] = new SnmpVarBind(".1.3.6.1.4.1.9.9.96.1.1.1.1.6.777");
m_mibvar[5] = new SnmpVarBind(".1.3.6.1.4.1.9.9.96.1.1.1.1.14.777");
m_mibvar[6] = new SnmpVarBind(".1.3.6.1.4.1.9.9.96.1.1.1.1.10.777");
m_mibvar[7] = new SnmpVarBind(".1.3.6.1.4.1.9.9.96.1.1.1.1.13.777");
m_mibvar[8] = new SnmpVarBind(".1.3.6.1.4.1.9.9.10.1.2.1.1.2.777");
m_mibvar[9] = new SnmpVarBind(".1.3.6.1.4.1.9.9.10.1.2.1.1.3.777");
m_mibvar[10] = new SnmpVarBind(".1.3.6.1.4.1.9.9.10.1.2.1.1.4.777");
m_mibvar[11] = new SnmpVarBind(".1.3.6.1.4.1.9.9.10.1.2.1.1.5.777");
m_mibvar[12] = new SnmpVarBind(".1.3.6.1.4.1.9.9.10.1.2.1.1.6.777");
m_mibvar[13] = new SnmpVarBind(".1.3.6.1.4.1.9.9.10.1.2.1.1.11.777");
m_mibvar[14] = new SnmpVarBind(".1.3.6.1.4.1.9.9.10.1.2.1.1.8.777");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -