[SNMP4J] Network Discovery
James Prickett
jprickett at force3.com
Wed Aug 25 18:04:13 CEST 2010
I'm trying to programmatically turn off a port on a switch using the SNMP4J library and I'm stuck on the following error:
org.snmp4j.transport.UnsupportedAddressClassException: Unsupported address class (transport mapping): org.snmp4j.smi.IpAddress
at org.snmp4j.MessageDispatcherImpl.sendPdu(MessageDispatcherImpl.java:413)
at org.snmp4j.Snmp.sendMessage(Snmp.java:1067)
at org.snmp4j.Snmp.send(Snmp.java:895)
at org.snmp4j.Snmp.send(Snmp.java:875)
at org.snmp4j.Snmp.send(Snmp.java:840)
at com.force3.snmp.SnmpExample.main(SnmpExample.java:51)
I get the same exception using the TcpAddresss class as well.
Anyone have a clue what I should be using to specify the address?
Regards,
James
Code -->
---------------------------------------------------------
package example;
import java.io.IOException;
import org.snmp4j.PDU;
import org.snmp4j.ScopedPDU;
import org.snmp4j.Snmp;
import org.snmp4j.UserTarget;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.security.SecurityLevel;
import org.snmp4j.smi.IpAddress;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.TcpAddress;
import org.snmp4j.smi.UdpAddress;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
/**
*
*/
public class SnmpExample {
// private static final OctetString UP = new OctetString("1");
private static final OctetString DOWN = new OctetString("2");
/**
* @param args
* The command-line arguments
*/
public static void main(String[] args) {
PDU pdu = new ScopedPDU();
pdu.setType(PDU.SET);
VariableBinding vb = new VariableBinding(new OID("1.3.6.1.2.1.2.2.1.7"), DOWN);
pdu.add(vb);
UserTarget target = new UserTarget();
target.setAddress(new IpAddress("10.10.0.2"));
target.setVersion(SnmpConstants.version3);
target.setRetries(1);
target.setTimeout(500);
target.setSecurityLevel(SecurityLevel.AUTH_PRIV);
target.setSecurityName(new OctetString("MD5DES"));
try {
Snmp snmp = new Snmp(new DefaultUdpTransportMapping());
snmp.listen();
ResponseEvent response = snmp.send(pdu, target);
if (response.getResponse() != null) {
System.out.println(response.getResponse().toString());
}
} catch (IOException e) {
e.printStackTrace();
System.exit(99);
}
}
}
More information about the SNMP4J
mailing list