golang判断ip是否在cidr
func IpContains(cidr string, ip string) bool {
_, ipnet, err := net.ParseCIDR(cidr)
if err != nil {
return false
}
ipAddr := net.ParseIP(ip)
return ipnet.Contains(ipAddr)
}
func TestIpContains(tt *testing.T) {
fmt.Println(IpContains("192.168.1.0/24", "192.168.1.1"))
fmt.Println(IpContains("192.168.1.0/24", "192.168.2.1"))
}