Common Lisp SNMP (client/server)
About
Cl-NET-SNMP is a pure lisp SNMP implementation now.
Feature
- CLOS based ASN.1 types and BER encoding/decoding (decoding from streams).
- MIB and OID Name support, with a parser to read ASN.1 based MIB definitions.
- Full SNMP support (v1, v2c, v3 with auth/encrypt)
- SNMP GET/SET/Walk
- UDP Networking based on USOCKET project.
- Running on LispWorks, Clozure CL, SBCL and CMUCL.
Release
2008-7-13 version 2.0, get it from
Cliki.net
Source Code (on SF.net)
svn checkout
https://cl-net-snmp.svn.sourceforge.net/svnroot/cl-net-snmp/snmp/trunk
snmp
Document
Sample usage: (snmpV1, public)
CL-USER 2 > (snmp:snmp-walk "localhost" "system")
((#<SMI:OBJECT-ID sysDescr.0>
"Linux 2950.lab.163.org 2.6.18-4-xen-vserver-amd64 #1 SMP Fri May 4 03:26:45 UTC 2007 x86_64")
(#<SMI:OBJECT-ID sysObjectID.0> #<SMI:OBJECT-ID netSnmpAgentOIDs.linux>)
(#<SMI:OBJECT-ID sysUpTime.sysUpTimeInstance> #<SMI:TIMETICKS (169041005) 469:33:30.05>)
(#<SMI:OBJECT-ID sysContact.0> "Chun Tian (binghe) <binghe.lisp@gmail.com>")
(#<SMI:OBJECT-ID sysName.0> "2950.lab.163.org")
(#<SMI:OBJECT-ID sysLocation.0> "Hangzhou, China")
(#<SMI:OBJECT-ID sysORLastChange.0> #<SMI:TIMETICKS (1) 0:00:00.01>)
(#<SMI:OBJECT-ID sysORID.1> #<SMI:OBJECT-ID snmpModules.snmpMIB>)
(#<SMI:OBJECT-ID sysORID.2> #<SMI:OBJECT-ID mib-2.tcpMIB>)
(#<SMI:OBJECT-ID sysORID.3> #<SMI:OBJECT-ID mib-2.ip>)
(#<SMI:OBJECT-ID sysORID.4> #<SMI:OBJECT-ID mib-2.udpMIB>)
(#<SMI:OBJECT-ID sysORID.5> #<SMI:OBJECT-ID vacmMIBGroups.vacmBasicGroup>)
(#<SMI:OBJECT-ID sysORID.6> #<SMI:OBJECT-ID snmpFrameworkMIBCompliances.snmpFrameworkMIBCompliance>)
(#<SMI:OBJECT-ID sysORID.7> #<SMI:OBJECT-ID snmpMPDMIBCompliances.snmpMPDCompliance>)
(#<SMI:OBJECT-ID sysORID.8> #<SMI:OBJECT-ID usmMIBCompliances.usmMIBCompliance>)
(#<SMI:OBJECT-ID sysORDescr.1> "The MIB module for SNMPv2 entities")
(#<SMI:OBJECT-ID sysORDescr.2> "The MIB module for managing TCP implementations")
(#<SMI:OBJECT-ID sysORDescr.3> "The MIB module for managing IP and ICMP implementations")
(#<SMI:OBJECT-ID sysORDescr.4> "The MIB module for managing UDP implementations")
(#<SMI:OBJECT-ID sysORDescr.5> "View-based Access Control Model for SNMP.")
(#<SMI:OBJECT-ID sysORDescr.6> "The SNMP Management Architecture MIB.")
(#<SMI:OBJECT-ID sysORDescr.7> "The MIB for Message Processing and Dispatching.")
(#<SMI:OBJECT-ID sysORDescr.8>
"The management information definitions for the SNMP User-based Security Model.")
(#<SMI:OBJECT-ID sysORUpTime.1> #<SMI:TIMETICKS (0) 0:00:00.00>)
(#<SMI:OBJECT-ID sysORUpTime.2> #<SMI:TIMETICKS (0) 0:00:00.00>)
(#<SMI:OBJECT-ID sysORUpTime.3> #<SMI:TIMETICKS (0) 0:00:00.00>)
(#<SMI:OBJECT-ID sysORUpTime.4> #<SMI:TIMETICKS (0) 0:00:00.00>)
(#<SMI:OBJECT-ID sysORUpTime.5> #<SMI:TIMETICKS (0) 0:00:00.00>)
(#<SMI:OBJECT-ID sysORUpTime.6> #<SMI:TIMETICKS (1) 0:00:00.01>)
(#<SMI:OBJECT-ID sysORUpTime.7> #<SMI:TIMETICKS (1) 0:00:00.01>)
(#<SMI:OBJECT-ID sysORUpTime.8> #<SMI:TIMETICKS (1) 0:00:00.01>))
Maintainer
Chun Tian (binghe), binghe.lisp at gmail dot com, Lisp Programmer, Unix Administrator.