Announcing SwiftSnmpKit!
SwiftSnmpWalk output

Announcing SwiftSnmpKit!

I'm pleased to announce SwiftSnmpKit

SwiftSnmpKit is a Swift package to perform Simple Network Management Protocol (SNMP) queries to network devices. This eliminates the need to incorporate a C library (and use a C API 😢) in your Swift network management applications.

The use of Swift's async-await feature makes SwiftSnmpKit easy to use. Simply send your SNMP query from asynchronous code and await your answer! If the network device fails to respond the call will timeout in a few seconds. The call returns the Swift Result type to handle both successes and failures.

Using async-await to make a SNMP request

SwiftSnmpKit supports:

  1. SNMPv2c with community-based authentication
  2. SNMPv3 no authentication no privacy
  3. SNMPv3 authentication no privacy
  4. SNMPv3 authentication and privacy

Currently supported authentication options include SHA1 and SHA256. Privacy currently supports AES-128 (thanks to Marcin Krzyzanowski's CryptoSwift library). SwiftSnmpKit uses swift-nio for networking and builds (but is not yet tested) on Linux.

SwiftSnmpKit includes Abstract Syntax Notation 1 (ASN.1) parsing code, designed for use with SNMP.

SwiftSnmpKit is #opensource and available under the MIT license.

SwiftSnmpTools provides sample command-line applications using SwiftSnmpKit, also available under the MIT license.

#SwiftLang #Swift #Cisco #devnet #snmp @marcinkrzyzanowski

Wireshark showing capture of SwiftSnmpWalk

That's a pretty smart move - particularly as some of the C API libraries are not very robust. SNMP doesn't get much love because it's not sexy, but it's still the lingua franca of routers and an essential way of collecting traffic stats. No news to you of course. Now all you need to do is provide a golang version :-)

To view or add a comment, sign in

More articles by Darrell Root

Explore content categories