Simple Network Management Protocol Open Source library written in c# with support for SNMP version 1, 2c and 3.
Support for Get, Get-Next, Get-Bulk and Set requests, Response and Report replies and Trap, V2Trap and Inform Notifications is implemented. SNMP version 1 Traps have a dedicated packet class SnmpV1TrapPacket because they are substantially different from other SNMP version 1 packets. SNMP version 2 and 3 V2Trap parsing is included in the general request/response parsing class for each protocol. Inform handling for both SNMP version 2 and 3 is included and tested. In version 3, V2Trap and Inform support for authentication and privacy is included.
SNMP version 3 currently support noAuthNoPriv (no privacy and no authentication) security model, authNoPriv using MD5 and SHA-1 authentication and authPriv using, again, MD5 and SHA-1 authentication with DES, AES-128, AES-192, AES-256 and TripleDES privacy encryption.
Library is fully self contained. This means that it does not depend on any classes or libraries, other then available as part of the .Net framework version 2. Encryption functionality is implemented using System.Security.Cryptography name space. I have decided to use .NET provided crypto to avoid having to worry about international distribution of the library. In other words, if your .NET distribution supports System.Security.Cryptography namespace with MD5, SHA-1, DES, Rijndael and TripleDES classes, you are good to go.
Project is in Beta release. Basic testing of library functionality has been completed and all components are fully operational. Major work now is to do the deep testing. I am hoping to get assistance from the users of the library so if you find any issues, send me a note to dev [at] snmpsharpnet [dot] com.
To re-assure anybody concerned that web site is hosted on a dot com domain, this project is open source and will remain open source and free to all. I have setup a dot com domain because it was $5 cheaper and, let’s face it, I’m not made of money 🙂
I have to apologize for the recent web site outage. It turns out that providing free software is not good enough for some people who decided to use my domain to distribute SPAM. To address this, I had to take down the site and rebuilt the entire site from the ground up. I hope all content is back up and running. Please feel free to reach out to me through SourceForge if you find anything missing or wish me to add specific content.
Quick links to pages on this site:
- Feature Support
- Change Log
- Protocol information
- Simple Network Management Protocol Introduction
- Introduction to SNMP version 3
- SNMP v1 and v2c packet
- SNMP v1 and v2c Protocol Data Unit
- SNMP Version 1 or 2c Get request
- Variable Bindings
- SNMP Version 3 Concepts
- SNMP version 3 requests
- SNMP version 3 notifications (traps and informs)
- SNMP Standards RFC Documents
- SNMP Variable Types
- Working with Object Identifiers
- Working with Octet Strings
- Working with numeric data types (Counter32, Counter64, Gauge32 and TimeTicks)
- Working with IP addresses (IpAddress class)
- Packet class information
- SNMP Version 1 Low Level Packet Class
- SNMP Version 2 Low Level Packet Class
- SNMP Version 3 Low Level Packet Class
- How to get a table from a SNMP Agent using SNMPv2c and GetBulk
- How to make an SNMP Set request
- Send SNMP version 1, 2c and 3 traps
- Receive SNMP version 1 and 2c Trap notifications
- Async Receive SNMP version 1 traps and 2c traps and informs
- Simple SNMP with SimpleSnmp class
- SimpleSnmp with VB.Net
- Sending SNMP Version 3 traps
- Example SNMPv3 Get Operation
- Example SNMPv3 Set Operation
- Walk operation with SNMP version 1 and 2c
- How to process MAC/Ethernet Addresses using EthernetAddress class