?? snmptraptest.java
字號:
theLayout.setConstraints(messagesLabel, c);
messagesPanel.add(messagesLabel);
c.gridx = 2;
c.gridy = 1;
c.anchor = GridBagConstraints.EAST;
theLayout.setConstraints(clearButton, c);
messagesPanel.add(clearButton);
c.fill = GridBagConstraints.BOTH;
c.gridx = 1;
c.gridy = 2;
c.gridwidth = 2;
c.weightx = .5;
c.weighty = .5;
c.anchor = GridBagConstraints.CENTER;
theLayout.setConstraints(messagesScroll, c);
messagesPanel.add(messagesScroll);
c.gridwidth = 1;
c.weightx = 0;
c.weighty = 0;
this.getContentPane().setLayout(theLayout);
c.gridx = 1;
c.gridy = 1;
theLayout.setConstraints(hostPanel, c);
this.getContentPane().add(hostPanel);
c.gridx = 1;
c.gridy = 2;
theLayout.setConstraints(oidPanel, c);
this.getContentPane().add(oidPanel);
c.gridx = 1;
c.gridy = 3;
theLayout.setConstraints(buttonPanel, c);
this.getContentPane().add(buttonPanel);
c.fill = GridBagConstraints.BOTH;
c.gridx = 1;
c.gridy = 4;
c.weightx = .5;
c.weighty = .5;
theLayout.setConstraints(messagesPanel, c);
this.getContentPane().add(messagesPanel);
c.fill = GridBagConstraints.NONE;
c.gridx = 1;
c.gridy = 5;
c.weightx = 0;
c.weighty = 0;
theLayout.setConstraints(authorLabel, c);
this.getContentPane().add(authorLabel);
}
public void actionPerformed(ActionEvent theEvent)
// respond to button pushes, menu selections
{
String command = theEvent.getActionCommand();
if (command == "quit")
{
readerThread.interrupt();
System.exit(0);
}
if (command == "clear messages")
{
messagesArea.setText("");
}
if (command == "about")
{
//AboutDialog aboutDialog = new AboutDialog(this);
}
if (command == "send v1 trap")
{
try
{
String community = communityField.getText();
int version = 0; // SNMPv1
InetAddress hostAddress = InetAddress.getByName(hostIDField.getText());
SNMPObjectIdentifier enterpriseOID = new SNMPObjectIdentifier(enterpriseField.getText());
SNMPIPAddress agentAddress = new SNMPIPAddress(agentField.getText());
int genericTrap = genericTrapBox.getSelectedIndex();
int specificTrap = specificTrapBox.getSelectedIndex();
SNMPTimeTicks timestamp = new SNMPTimeTicks((long)(System.currentTimeMillis()/10));
// see if have any additional variable pairs to send, and add them to
// the VarBindList if so
SNMPVarBindList varBindList = new SNMPVarBindList();
String itemIDString = OIDField.getText();
if (!itemIDString.equals(""))
{
SNMPObjectIdentifier itemID = new SNMPObjectIdentifier(itemIDString);
String valueString = valueField.getText();
String valueTypeString = (String)valueTypeBox.getSelectedItem();
valueTypeString = "snmp." + valueTypeString;
SNMPObject itemValue;
Class valueClass = Class.forName(valueTypeString);
itemValue = (SNMPObject)valueClass.newInstance();
itemValue.setValue(valueString);
varBindList.addSNMPObject(new SNMPVariablePair(itemID, itemValue));
}
// create trap pdu
SNMPv1TrapPDU pdu = new SNMPv1TrapPDU(enterpriseOID, agentAddress, genericTrap, specificTrap, timestamp, varBindList);
// and send it
messagesArea.append("Sending trap to " + hostIDField.getText() + ":\n");
messagesArea.append(" enterprise OID: " + pdu.getEnterpriseOID().toString() + "\n");
messagesArea.append(" agent address: " + pdu.getAgentAddress().toString() + "\n");
messagesArea.append(" generic trap: " + pdu.getGenericTrap() + "\n");
messagesArea.append(" specific trap: " + pdu.getSpecificTrap() + "\n");
messagesArea.append(" timestamp: " + pdu.getTimestamp() + "\n");
messagesArea.append(" supplementary vars: " + pdu.getVarBindList().toString() + "\n");
messagesArea.append("\n");
trapSenderInterface.sendTrap(hostAddress, community, pdu);
}
catch(InterruptedIOException e)
{
messagesArea.append("Interrupted during trap send: " + e + "\n");
}
catch(Exception e)
{
messagesArea.append("Exception during trap send: " + e + "\n");
}
}
if (command == "send v2 trap")
{
try
{
String community = communityField.getText();
InetAddress hostAddress = InetAddress.getByName(hostIDField.getText());
// use the enterprise OID field as the snmp trap OID
SNMPObjectIdentifier snmpTrapOID = new SNMPObjectIdentifier(enterpriseField.getText());
// let uptime just be system time...
SNMPTimeTicks sysUptime = new SNMPTimeTicks((long)(System.currentTimeMillis()/10));
// see if have any additional variable pairs to send, and add them to
// the VarBindList if so
SNMPVarBindList varBindList = new SNMPVarBindList();
String itemIDString = OIDField.getText();
if (!itemIDString.equals(""))
{
SNMPObjectIdentifier itemID = new SNMPObjectIdentifier(itemIDString);
String valueString = valueField.getText();
String valueTypeString = (String)valueTypeBox.getSelectedItem();
valueTypeString = "snmp." + valueTypeString;
SNMPObject itemValue;
Class valueClass = Class.forName(valueTypeString);
itemValue = (SNMPObject)valueClass.newInstance();
itemValue.setValue(valueString);
varBindList.addSNMPObject(new SNMPVariablePair(itemID, itemValue));
}
// create trap pdu
SNMPv2TrapPDU pdu = new SNMPv2TrapPDU(sysUptime, snmpTrapOID, varBindList);
// and send it
messagesArea.append("Sending trap to " + hostIDField.getText() + ":\n");
messagesArea.append(" system uptime: " + pdu.getSysUptime().toString() + "\n");
messagesArea.append(" trap OID: " + pdu.getSNMPTrapOID().toString() + "\n");
messagesArea.append(" var bind list: " + pdu.getVarBindList().toString() + "\n");
messagesArea.append("\n");
trapSenderInterface.sendTrap(hostAddress, community, pdu);
}
catch(InterruptedIOException e)
{
messagesArea.append("Interrupted during trap send: " + e + "\n");
}
catch(Exception e)
{
messagesArea.append("Exception during trap send: " + e + "\n");
}
}
if (command == "send v2 inform request")
{
try
{
String community = communityField.getText();
InetAddress hostAddress = InetAddress.getByName(hostIDField.getText());
// use the enterprise OID field as the snmp trap OID
SNMPObjectIdentifier snmpTrapOID = new SNMPObjectIdentifier(enterpriseField.getText());
// let uptime just be system time...
SNMPTimeTicks sysUptime = new SNMPTimeTicks((long)(System.currentTimeMillis()/10));
// see if have any additional variable pairs to send, and add them to
// the VarBindList if so
SNMPVarBindList varBindList = new SNMPVarBindList();
String itemIDString = OIDField.getText();
if (!itemIDString.equals(""))
{
SNMPObjectIdentifier itemID = new SNMPObjectIdentifier(itemIDString);
String valueString = valueField.getText();
String valueTypeString = (String)valueTypeBox.getSelectedItem();
valueTypeString = "snmp." + valueTypeString;
SNMPObject itemValue;
Class valueClass = Class.forName(valueTypeString);
itemValue = (SNMPObject)valueClass.newInstance();
itemValue.setValue(valueString);
varBindList.addSNMPObject(new SNMPVariablePair(itemID, itemValue));
}
// create inform request pdu
SNMPv2InformRequestPDU pdu = new SNMPv2InformRequestPDU(sysUptime, snmpTrapOID, varBindList);
// and send it
messagesArea.append("Sending inform request to " + hostIDField.getText() + ":\n");
messagesArea.append(" system uptime: " + pdu.getSysUptime().toString() + "\n");
messagesArea.append(" trap OID: " + pdu.getSNMPTrapOID().toString() + "\n");
messagesArea.append(" var bind list: " + pdu.getVarBindList().toString() + "\n");
messagesArea.append("\n");
informRequestSenderInterface.sendInformRequest(hostAddress, community, pdu);
}
catch(InterruptedIOException e)
{
messagesArea.append("Interrupted during inform request send: " + e + "\n");
}
catch(Exception e)
{
messagesArea.append("Exception during inform request send: " + e + "\n");
}
}
}
public void processv1Trap(SNMPv1TrapPDU pdu)
{
messagesArea.append("Got v1 trap:\n");
messagesArea.append(" enterprise OID: " + pdu.getEnterpriseOID().toString() + "\n");
messagesArea.append(" agent address: " + pdu.getAgentAddress().toString() + "\n");
messagesArea.append(" generic trap: " + pdu.getGenericTrap() + "\n");
messagesArea.append(" specific trap: " + pdu.getSpecificTrap() + "\n");
messagesArea.append(" timestamp: " + pdu.getTimestamp() + "\n");
messagesArea.append(" supplementary vars: " + pdu.getVarBindList().toString() + "\n");
messagesArea.append("\n");
}
public void processv2Trap(SNMPv2TrapPDU pdu)
{
messagesArea.append("Got v2 trap:\n");
messagesArea.append(" system uptime: " + pdu.getSysUptime().toString() + "\n");
messagesArea.append(" trap OID: " + pdu.getSNMPTrapOID().toString() + "\n");
messagesArea.append(" var bind list: " + pdu.getVarBindList().toString() + "\n");
messagesArea.append("\n");
}
public void processv2InformRequest(SNMPv2InformRequestPDU pdu)
{
messagesArea.append("Got v2 inform request:\n");
messagesArea.append(" system uptime: " + pdu.getSysUptime().toString() + "\n");
messagesArea.append(" trap OID: " + pdu.getSNMPTrapOID().toString() + "\n");
messagesArea.append(" var bind list: " + pdu.getVarBindList().toString() + "\n");
messagesArea.append("\n");
}
public void run()
{
int numChars;
char[] charArray = new char[256];
try
{
while (!readerThread.isInterrupted() && ((numChars = errorReader.read(charArray, 0, charArray.length)) != -1))
{
messagesArea.append("Problem receiving trap or inform:\n");
messagesArea.append(new String(charArray, 0, numChars));
messagesArea.append("\n\n");
}
}
catch(IOException e)
{
messagesArea.append("Problem receiving errors; error reporter exiting!");
}
}
public static void main(String args[])
{
try
{
SNMPTrapTest theApp = new SNMPTrapTest();
theApp.pack();
theApp.setSize(600,500);
theApp.show();
}
catch (Exception e)
{}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -