in reply to Re: Send SNMP trap
in thread Send SNMP trap

The session is using SNMPv1. I tried changing OCTET_STRING to 0x01 and it ended in the same result.
Unknown ASN.1 type [0x01]
I am including the full code so anyone can take a look at what is going on:
use strict; use Net::SNMP qw(:snmp); my ($session, $error) = Net::SNMP->session( -hostname => shift || '$ +host', -community => 'public', -version => 'snmpv1', -port => shift || 16 +2 ); if (!defined($session)) { printf("ERROR: %s.\n", $error); exit 1; } my $svSvcName = '1.3.6.1.4.1.77.1.2.3.1.1'; my $message = "THIS IS AN SNMP TEST"; my @oids = ($svSvcName, "OCTET_STRING", $message); #my @oids; my $result = $session->trap( -agentaddr => '$monitor', -varbindlist => \@oids #-varbindlist => [$svSvcName, OCTET_STRIN +G, "$message"] ); if (!defined($result)) { printf("ERROR: %s.\n", $session->error); $session->close; exit 1; } $session->close;
Also I don't know if this is of importance but the script is running on a Windows 2000 machine with perl 5.8

Replies are listed 'Best First'.
Re: Re: Re: Send SNMP trap
by zengargoyle (Deacon) on Sep 23, 2003 at 22:37 UTC
    use Net::SNMP qw(:asn1); # missing $monitor? my $monitor = '192.168.254.1'; # remove quotes from OCTET_STRING, it's a constant. my @oids = ($svSvcName, OCTET_STRING, $message);

    the above changes make it work for me.

    # snmptrapd -f -P 2003-09-23 15:20:06 NET-SNMP version 5.0.6 Started. 2003-09-23 15:20:25 192.168.254.1(via 192.168.254.1) TRAP, SNMP v1, co +mmunity public SNMPv2-SMI::enterprises Enterprise Specific Trap (0) Uptime: 0 +:00:01.00 SNMPv2-SMI::enterprises.77.1.2.3.1.1 = STRING: "THIS IS AN SNM +P TEST" 2003-09-23 15:20:48 192.168.254.1(via 192.168.254.1) TRAP, SNMP v1, co +mmunity public SNMPv2-SMI::enterprises Enterprise Specific Trap (0) Uptime: 0 +:00:01.00 SNMPv2-SMI::enterprises.77.1.2.3.1.1 = STRING: "THIS IS AN SNM +P TEST" 2003-09-23 15:21:08 192.168.254.1(via 192.168.254.1) TRAP, SNMP v1, co +mmunity public SNMPv2-SMI::enterprises Enterprise Specific Trap (0) Uptime: 0 +:00:00.00 SNMPv2-SMI::enterprises.77.1.2.3.1.1 = STRING: "THIS IS AN SNM +P TEST"
      That worked perfectly. I don't remember when I added the quotes to OCTET_STRING but that ridded me of the error. However what fixed the true proble was changing THIS: use Net::SNMP qw(:snmp); TO: use Net::SNMP qw(:asn1); Thanks for your help.