GO语言如何判断一个网段是否属于另一个网段的子网
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇"GO语言如何判断一个网段是否属于另一个网段的子网"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们
千家信息网最后更新 2025年01月20日GO语言如何判断一个网段是否属于另一个网段的子网
这篇"GO语言如何判断一个网段是否属于另一个网段的子网"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"GO语言如何判断一个网段是否属于另一个网段的子网"文章吧。
1.校验网段是否合法
1.1函数
import ( "fmt" "net")func IsNetWorkOk(network string ) bool{ _, _, err := net.ParseCIDR(network) if err != nil { return false } return true}
1.2分析
第一步就是先split变成ip跟子网掩码
主要原理就是变成二进制以后再进行判断
ipv4跟ipv6都可以校验,如果只想校验ipv4可以调用parseIPv4方法
1.3主函数运行测试
func main() { ip := "100.4.11.3/24" result := IsNetWorkOk(ip) fmt.Println(result)}
2.校验ip是否合法
2.1函数
func IsIpOk(ip string ) bool{ address := net.ParseIP(ip) if address == nil { return false } return true}
2.2分析
点分十进制换成2进制,判断是否合法:
2.3主函数运行测试
func main() { ip := "100.4.11.34" result := IsIpOk(ip) fmt.Println(result)}
3.判断两个网段,一个是否是另一个的子网
3.1函数
func ContainsCIDR(a, b *net.IPNet) bool { ones1, _ := a.Mask.Size() ones2, _ := b.Mask.Size() return ones1 <= ones2 && a.Contains(b.IP)}//最好提前做好网段是否合法校验func ContainsCIDRString(a,b string)(bool,error){ _, net1, err := net.ParseCIDR(a) if err != nil { return false,err } _, net2, err := net.ParseCIDR(b) if err != nil { return false,err } result := ContainsCIDR(net1,net2) return result,err}
3.2分析
调用了ip包含的方法
3.3运行测试
func main() { net1 := "100.64.0.0/16" net2 := "100.64.0.0/20" _, a, err := net.ParseCIDR(net1) _, b, err := net.ParseCIDR(net2) if err != nil { return } result := ContainsCIDR(a,b) fmt.Println(result)}
以上就是关于"GO语言如何判断一个网段是否属于另一个网段的子网"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
网段
子网
内容
函数
合法
语言
就是
分析
测试
运行
文章
方法
知识
篇文章
两个
二进制
价值
十进制
原理
大部分
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
微信软件开发客服
数据库登录报错12514
宁波市网络安全网
华硕服务器z97主板增加硬盘
小学学校网络安全防范措施
元宇宙与网络安全
玄武区常规软件开发信息推荐
阴阳师官方服务器qq登录
网络安全论文题目边框
央视网软件开发如何
数据库录不进去
360无线网络安全产品
网络安全补漏网站
何永强 网络安全
建友网络技术
江阴专注软件开发哪家好
真人博彩软件开发
单服务器多通
网络文件服务器
兵圣下载软件开发
用例图用户和数据库实例
三大生物信息数据库名称
做软件开发华为哪款比较好
cs起源连接安全服务器
安徽餐饮蔬菜配送软件开发
东莞酒店软件开发商家
科技互联网深度分析
南宁加固服务器费用
新疆财经大学网络安全专业怎么样
软件开发都要学啥