node-red-contrib-snmp-trap-listener

Node-RED node that receives snmp traps.

Usage no npm install needed!

<script type="module">
  import nodeRedContribSnmpTrapListener from 'https://cdn.skypack.dev/node-red-contrib-snmp-trap-listener';
</script>

README

Node-RED SNMP Trap Listener

NPM

This Node-RED node listens for SNMP Trap packages on the configured port.
Trap which do meet the filter setting will be emitted on the node output.

The filter options are:
SNMP version (v1, v2c, v3)
Community string (v1 & v2c only)
User credential (v3 only)
IP Filtering

Getting Started

Adding nodes to the palette - Node-RED Documentation
Remember to configure the snmp-trap-listener node before you deploy your changes.

Documentation

Input

The snmp-trap-listener node doesn't take any input.

Output

The snmp-trap-listener node output object is in the following format:

SNMP v1

{
    "payload":[
        {
            "oid":"1.3.6.1.4.1.13576.10.1.40.4.4.2",
            "typename":"OctetString",
            "value":[80,108,99,32,83,116,97,114,116],
            "string_value":"Plc Start"
        }
    ],
    "enterprise":"1.3.6.1.4.1.13576",
    "agent_addr":"10.0.1.125",
    "generic_trap":6,
    "specific_trap":2,
    "time_stamp":8932,
    "src":{
        "family":"IPv4",
        "address":"10.0.1.125",
        "port":44688
    },
    "version":0,
    "string_version":"Trap",
    "_msgid":"e7f3490e.2320d8"
}

SNMP v2c/v3

{
    "payload":[
        {
            "oid":"1.3.6.1.2.1.1.3.0",
            "typename":"TimeTicks",
            "value":760,
            "string_value":"760"
        },
        {
            "oid":"1.3.6.1.6.3.1.1.4.1.0",
            "typename":"OID",
            "value":"1.3.6.1.4.1.13576.0.2",
            "string_value":"1.3.6.1.4.1.13576.0.2"
        },
        {
            "oid":"1.3.6.1.4.1.13576.10.1.40.4.4.2",
            "typename":"OctetString",
            "value":[80,108,99,32,83,116,97,114,116],
            "string_value":"Plc Start"
        }
    ],
    "src":{
        "family":"IPv4",
        "address":"10.0.1.125",
        "port":28391
    },
    "version":1,
    "string_version":"TrapV2",
    "_msgid":"d9562ebf.2f62d"
}

It's payload contains an array which contains all received variable bindings.

{
    oid: "1.3.1",                   //OID path
    typename: "OctetString",        //Typename
    value: [Buffer],                //Contains raw data in a Buffer if String
                                    //or data if Integer
    string_value: "test_value"      //Contains data as a string
}

Options

The node contains the following options:

  • Port, Sets the port on which to listen for SNMP traps

  • SNMP Version, select which version of SNMP should be used.

  • SNMP v1/v2c: Community, network community string. The community string acts like a user ID or password. A user with the correct community string has access to network information. The default is public.

  • SNMP v3: User

    • Username, username of the SNMP User-based Security Model (USM) user.
    • Authentication Protocol, authentication protocol used to authenticate messages sent on behalf of the specified Username.
    • Authentication Key, authentication key used by the selected authentication protocol.
    • Encryption Protocol, encryption protocol used to encrypt messages sent on behalf of the specified Username.
    • Encryption Key, encryption key used by the selected encryption protocol.
  • IP Filter:

    • IP Address, base IP address used for the filter.

    • Network mask, network mask used to calculate the filter IP address range.
      It can be in four-part dotted-decimal format: 255.255.255.0
      or in CIDR (Classless Inter-Domain Routing) notation: 24

Example of IP filter: | IP Address | Network mask | Filter Start | Filter End | |---|---|---|---| | 192.168.1.1 | 24 | 192.168.1.1 | 192.168.1.254 | | 192.168.1.1 | 255.255.255.0 | 10.0.1.1 | 10.0.1.254 | | 10.0.1.25 | 30 | 10.0.1.25 | 10.0.1.26 | | 10.0.1.25 | 255.255.255.252 | 10.0.1.25 | 10.0.1.26 |

Debugging

Run node index.js to start the listener in your debugger of choice.

Project Informations

Platform Node-RED

- Current version

GitHub package.json version
NPM download
NPM download

- Languages

GitHub language count
GitHub top language

- Dependencies

GitHub package.json dependency version (prod)
GitHub package.json dependency version (prod)

- License

GitHub