On Jan 2, 2009, at 8:56 AM, German Silva wrote:

currently I can send traps, but the source IP Address is always my
computer's IP Address, I wonder if it is possible to send a trap from my
computer with a different IP Address. This can be done with net-snmp.

I think you're confusing the notion of sending IP address (which is a function of the underlying operating system's IP stack) with the notion of AgentAddress in the context of SNMPv1 TRAP PDUs. Presumably your reference to Net-SNMP supporting this is a reference to the syntax for sending a v1 trap using the "snmptrap" tool:

  -v 1 TRAP-PARAMETERS:
enterprise-oid agent trap-type specific-type uptime [OID TYPE VALUE]...

This is possible only with v1 traps, because the v1 TRAP PDU is unique in that it contains an AgentAddress field that carries the IP address of the sending agent. The IP address in the header of the IP packet is still the address determined by the IP stack. The AgentAddress field was removed from the v2 TRAP PDU in order to give all v2 PDUs the same fields.

You can set the AgentAddress of a v1 TRAP PDU in SNMP4J by calling the setAgentAddress(IpAddress) method of the PDUv1 class, but be sure you're doing this for the right reason. Here's a link to the JavaDoc:

http://www.snmp4j.org/doc/org/snmp4j/PDUv1.html#setAgentAddress(org.snmp4j.smi.IpAddress)

public void setAgentAddress(IpAddress agentAddress)
Sets the IP address of the originator system of this SNMPv1 trap. The default value is 0.0.0.0, which should be only overriden in special cases, for example when forwarding SNMPv1 traps through a SNMP proxy.

Parameters:agentAddress - a IpAddress instance.Throws:java.lang.UnsupportedOperationException - if the type of this PDU is not PDU.V1TRAP.

-jeff
_______________________________________________
SNMP4J mailing list
[email protected]
http://lists.agentpp.org/mailman/listinfo/snmp4j

Reply via email to