golang 获取网卡的gateway和ip代码示例
时间: 2023-03-14 19:18:13 浏览: 140
golang 获取客户端IP
可以使用Golang的net.Interfaces函数来获取网卡的gateway和IP地址。下面是一个示例代码:// 获取网卡的gateway和IP地址
ifaces, err := net.Interfaces()
if err != nil {
log.Fatal(err)
}
for _, i := range ifaces {
addrs, err := i.Addrs()
if err != nil {
log.Fatal(err)
}
for _, addr := range addrs {
var ip net.IP
switch v := addr.(type) {
case *net.IPNet:
ip = v.IP
case *net.IPAddr:
ip = v.IP
}
if ip == nil || ip.IsLoopback() {
continue
}
ip = ip.To4()
if ip == nil {
continue // not an ipv4 address
}
fmt.Printf("IPv4: %s\n", ip)
gateway := os.Getenv("GATEWAY_IP")
fmt.Printf("Gateway: %s\n", gateway)
}
}
阅读全文