IsLocalIP 判断是否为本地IP
(ipString string)
| 7 | |
| 8 | // IsLocalIP 判断是否为本地IP |
| 9 | func IsLocalIP(ipString string) bool { |
| 10 | var ip = net.ParseIP(ipString) |
| 11 | if ip == nil { |
| 12 | return false |
| 13 | } |
| 14 | |
| 15 | // IPv6 |
| 16 | if strings.Contains(ipString, ":") { |
| 17 | return ip.String() == "::1" |
| 18 | } |
| 19 | |
| 20 | // IPv4 |
| 21 | ip = ip.To4() |
| 22 | if ip == nil { |
| 23 | return false |
| 24 | } |
| 25 | if ip[0] == 127 || |
| 26 | ip[0] == 10 || |
| 27 | (ip[0] == 172 && ip[1]&0xf0 == 16) || |
| 28 | (ip[0] == 192 && ip[1] == 168) { |
| 29 | return true |
| 30 | } |
| 31 | |
| 32 | return false |
| 33 | } |
| 34 | |
| 35 | // IsIPv4 是否为IPv4 |
| 36 | func IsIPv4(ip string) bool { |