golang demo
demo1:
/*判断下一跳地址是否是接口ip*/
func GetInterfaceIPString() (ipStrings string) {
ifaces, err := net.Interfaces()
if err != nil {
logging.Errorf("Failed to get network interface")
} else {
count := 0
for _, i := range ifaces {
addrs, err := i.Addrs()
if err != nil {
logging.Infof("Failed to resolve network interface IP")
break
}
for _, addr := range addrs {
var ip net.IP
switch v := addr.(type) {
case *net.IPNet:
ip = v.IP
case *net.IPAddr:
ip = v.IP
}
count++
str := fmt.Sprintf("ip[%d] = %s | ", count, ip)
ipStrings += str
}
}
logging.Infof("ipStrings = %s", ipStrings)
}
return
}
demo2:

浙公网安备 33010602011771号