获取网卡link状态
package main
import (
"fmt"
"log"
"net"
"github.com/safchain/ethtool"
)
func main() {
ethHandle, err := ethtool.NewEthtool()
if err != nil {
panic(err.Error())
}
defer ethHandle.Close()
// Retrieve tx from eth0
stats, err := ethHandle.Stats("enp3s0")
if err != nil {
panic(err.Error())
}
fmt.Println(stats)
ifaces, err := net.Interfaces()
if err != nil {
log.Fatal(err)
}
for _, iface := range ifaces {
if iface.Name != "wlp2s0" {
linkstat, err :=ethHandle.LinkState(iface.Name)
if err != nil {
panic(err.Error())
}
fmt.Println(iface.Name,linkstat)
}
}
}