Simple but powerful snmp client.
Minimal example
conn, err := net.ListenPacket("udp", *addr)
if err != nil { /* ... */}
c := snmp.NewClient(conn)
defer c.Close() // <- conn is Closed here
go c.Run() // read incoming packets.
root, err := asn1.ParseOID(os.Args[1])
if err != nil { /* ... */}
p, err := c.Walk(a, root)
if err != nil {
log.Fatalf("walk: %v", err)
}
for _, v := range p.Vars {
fmt.Printf("%v\n", v)
}
See full example in ./cmd/
dir.