Hello Helper,

 

When I am coding with incoming SNMP traps from SNMP agent which uses net-snmp SNMP package, I met a problem. What I want to do is printing out all the bindings for incoming SNMP traps, just like the information logged in snmptrap.log if I use âsnmptrapd âo snmptrap.logâ command. Basically, an application is written for my purpose and keeps listening on port 162 on my local PC, I want to catch the incoming SNMP traps from the SNMP agent and print the information out.Â

 

The problem Iâve met is that after I capture the UPD datagram (not care about the UPD overhead) and keep it in Char array in C++. But when I try to print it, the result is not ASCII code. Instead, they are human un-readable text. Please see samples as below:

 

What I expected to print out from the Trap:

 

ÂÂ"2004-09-09T10:42:54.571-05:00"ÂÂÂÂÂÂÂ SNMPv2-SMI::enterprises.5517.4.1.1.7.0 =

ÂSTRING: "A device has been manually removed by an operator."ÂÂ SNMPv2-SMI::ente

rprises.5517.4.1.1.8.0 = INTEGER: 1ÂÂÂÂ SNMPv2-SMI::enterprises.5517.4.1.1.9.0 =

ÂINTEGER: 1ÂÂÂÂ SNMPv2-SMI::enterprises.5517.4.1.1.15.0 = INTEGER: 37

192.168.122.142 [192.168.122.142]: Trap SNMPv2-MIB::sysUpTime.0 = Timeticks: (63

80824) 17:43:28.24, SNMPv2-MIB::snmpTrapOID.0 = OID: SNMPv2-SMI::enterprises.551

7.4.1.2.12.4, SNMPv2-SMI::enterprises.5517.4.1.1.1.0 = STRING: "192.168.122.142"

, SNMPv2-SMI::enterprises.5517.4.1.1.18.0 = STRING: "SystemManagerA", SNMPv2-SMI

::enterprises.5517.4.1.1.2.0 = INTEGER: 50, SNMPv2-SMI::enterprises.5517.4.1.1.3

.0 = STRING: "T1DS1-12-15-27", SNMPv2-SMI::enterprises.5517.4.1.1.4.0 = INTEGER:

Â3, SNMPv2-SMI::enterprises.5517.4.1.1.16.0 = STRING: "OUT_OF_SERVICE", SNMPv2-S

MI::enterprises.5517.4.1.1.17.0 = STRING: "SystemManagerA", SNMPv2-SMI::enterpri

ses.5517.4.1.1.5.0 = "", SNMPv2-SMI::enterprises.5517.4.1.1.6.0 = STRING: "2004-

09-09T10:42:54.571-05:00", SNMPv2-SMI::enterprises.5517.4.1.1.7.0 = STRING: "A d

evice has been manually removed by an operator.", SNMPv2-SMI::enterprises.5517.4

.1.1.8.0 = INTEGER: 1, SNMPv2-SMI::enterprises.5517.4.1.1.9.0 = INTEGER: 1, SNMP

v2-SMI::enterprises.5517.4.1.1.15.0 = INTEGER: 37

 

What I have got:

 

âââââ0âââ+ââââÂ

 

I guess it must be some encoding format between bindings in the UDP datagram. Would you tell me that what could be for this case? And how I can decode them if there is such encoding method?Â

 

Thanks very much,

 

William

 

 

Â

Reply via email to