Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "encoding/json"
- "os"
- "bufio"
- )
- // ip -j -p link
- // [ {
- // "ifindex": 1,
- // "ifname": "lo",
- // "flags": [ "LOOPBACK","UP","LOWER_UP" ],
- // "mtu": 65536,
- // "qdisc": "noqueue",
- // "operstate": "UNKNOWN",
- // "linkmode": "DEFAULT",
- // "group": "default",
- // "txqlen": 1000,
- // "link_type": "loopback",
- // "address": "00:00:00:00:00:00",
- // "broadcast": "00:00:00:00:00:00"
- // },{
- // "ifindex": 2,
- // "ifname": "enp0s31f6",
- // "flags": [ "NO-CARRIER","BROADCAST","MULTICAST","UP" ],
- // "mtu": 1500,
- // "qdisc": "fq_codel",
- // "operstate": "DOWN",
- // "linkmode": "DEFAULT",
- // "group": "default",
- // "txqlen": 1000,
- // "link_type": "ether",
- // "address": "8c:16:45:32:c7:b2",
- // "broadcast": "ff:ff:ff:ff:ff:ff"
- // } ]
- type intf struct {
- IfIndex int `json:"ifindex"`
- IfName string `json:"ifname"`
- Flags []string `json:"flags"`
- Mtu int `json:"mtu"`
- Qdisc string `json:"qdisc"`
- OperState string `json:"operstate"`
- LinkMode string `json:"linkmode"`
- Group string `json:"group"`
- TxqLen int `json:"txqlen"`
- LinkType string `json:"link_type"`
- Addr string `json:"address"`
- Broadcast string `json:"broadcast"`
- }
- func main() {
- v := []intf{}
- stdin := bufio.NewReader(os.Stdin)
- json.NewDecoder(stdin).Decode(&v)
- for _, v := range v {
- fmt.Printf("id: %4d, name: %12s, state: %8s, mac: %s\n",
- v.IfIndex, v.IfName, v.OperState, v.Addr)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement