过滤内网IP—IPv4
2018-05-22 14:59
239 查看
检测输入的ip(适用于IPv4),内网ip返回false,外网ip返回true。
参考: https://en.wikipedia.org/wiki/Reserved_IP_addresses
参考: https://en.wikipedia.org/wiki/Reserved_IP_addresses
package main import ( "net" "fmt" ) func IsReservedIP(ip net.IP) bool { if ip == nil { return true } if ip4 := ip.To4(); ip4 != nil { switch ip4[0] { case 10: return true case 100: return ip4[1] >= 64 && ip4[1] <= 127 case 127: return true case 169: return ip4[1] == 254 case 172: return ip4[1] >= 16 && ip4[1] <= 31 case 192: switch ip4[1] { case 0: switch ip4[2] { case 0, 2: return true } case 18, 19: return true case 51: return ip4[2] == 100 case 88: return ip4[2] == 99 case 168: return true } case 203: return ip4[1] == 0 && ip4[2] == 113 case 224: return true case 240: return true } } return false } func main() { ip := "127.0.0.1" result := IsReservedIP(net.ParseIP(ip)) fmt.Println(result) }
相关文章推荐
- 编程突破TCP/IP过滤防火墙进入内网
- (转)再谈突破TCP-IP过滤/防火墙进入内网(icmp篇)
- C# 获取本机的所有ip地址,并过滤内网ip
- 再谈突破 TCP-IP 过滤/防火墙进入内网(icmp篇)
- 再谈突破TCP-IP过滤/防火墙进入内网(icmp篇)
- 黑客突破TCP-IP过滤/防火墙进入内网(1 )
- 黑客突破TCP-IP过滤/防火墙进入内网(2)
- 黑客突破TCP-IP过滤/防火墙进入内网
- 如何突破TCP-IP过滤防火墙进入内网(转)
- 突破TCP-IP过滤/防火墙进入内网(转)
- 再谈突破TCP-IP过滤/防火墙进入内网(icmp篇)
- 再谈突破TCP-IP过滤/防火墙进入内网(icmp篇)
- ssh 使用新法公网(合法 ip)用户访问内网(私有 ip)服务器(http,ftp,sshd,cvs...),内网的朋友不妨一看[zt]
- 为Web网站添加IP过滤功能实践总结(C#)
- dubbo注册zookepper时为什么会自动使用内网IP?
- 通过免费域明配置内网IP,使得其他人可通过外网访问
- 直接上一段用于内网获取本机ip地址的方法,更全面的可以先获取本机网络类型,在获取ip
- 书写NDIS过滤钩子驱动实现ip包过滤
- nginx日志过滤相同IP方法