| 58 | return address |
| 59 | } |
| 60 | func GetDeviceAllIPv4() map[string]string { |
| 61 | address := make(map[string]string) |
| 62 | addrs, err := net.Interfaces() |
| 63 | if err != nil { |
| 64 | return address |
| 65 | } |
| 66 | for _, a := range addrs { |
| 67 | if a.Flags&net.FlagLoopback != 0 || a.Flags&net.FlagUp == 0 { |
| 68 | continue |
| 69 | } |
| 70 | addrs, err := a.Addrs() |
| 71 | if err != nil { |
| 72 | fmt.Println("Error:", err) |
| 73 | continue |
| 74 | } |
| 75 | |
| 76 | for _, addr := range addrs { |
| 77 | if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() && ipnet.IP.To4() != nil { |
| 78 | address[a.Name] = ipnet.IP.String() |
| 79 | } |
| 80 | } |
| 81 | } |
| 82 | return address |
| 83 | } |
| 84 | func HasLocalIP(ip net.IP) bool { |
| 85 | if ip.IsLoopback() { |
| 86 | return true |