Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "flag"
- "fmt"
- "log"
- "time"
- "github.com/Netwurx/routeros-api-go"
- )
- var (
- routerOsIP = flag.String("ip", "192.168.0.1:8728", "RouterOS IP")
- routerOsUser = flag.String("user", "admin", "RouterOS username")
- routerOsPass = flag.String("pass", "admin", "RouterOS password")
- )
- func main() {
- flag.Parse()
- ros, err := routeros.New(*routerOsIP)
- if err != nil {
- log.Fatal(err)
- }
- err = ros.Connect(*routerOsUser, *routerOsPass)
- if err != nil {
- log.Fatal(err)
- }
- query := routeros.Query{
- Pairs: []routeros.Pair{{Key: "disabled", Value: "false"}, {Key: "running", Value: "true"}},
- Proplist: []string{"name", "rx-byte", "tx-byte", "rx-packet", "tx-packet"},
- }
- for {
- res, err := ros.Query("/interface/print", query)
- if err != nil {
- log.Fatal(err)
- }
- if len(res.Pairs) > 0 {
- log.Fatalf("RouterOS error: %+v", res)
- }
- for _, p := range res.SubPairs {
- for _, k := range query.Proplist {
- fmt.Print(p[k], "\t")
- }
- fmt.Print("\n")
- }
- fmt.Print("\n")
- time.Sleep(5 * time.Second)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement