在Go中,如何获得IP掩码的位数,如下所示:10.100.20.0 255.255.255.0=> 24bits maks.
检查掩码是低于还是大于特定位数(如果想要阻止大于/ 24的所有地址)将是有帮助的.
ANi*_*sus 12
该net包具有获取掩码的前缀大小的函数,该值是CIDR表示法中使用的值.这些位的具体功能是:
func(m IPMask)Size()(ones,bits int)
要获取这些位,请参阅以下示例:
package main
import (
"fmt"
"net"
)
func main() {
mask := net.IPMask(net.ParseIP("255.255.255.0").To4()) // If you have the mask as a string
//mask := net.IPv4Mask(255,255,255,0) // If you have the mask as 4 integer values
prefixSize, _ := mask.Size()
fmt.Println(prefixSize)
}
Run Code Online (Sandbox Code Playgroud)
输出:
24
PS.
我假设你的意思是位掩码255.255.255.0
| 归档时间: |
|
| 查看次数: |
3822 次 |
| 最近记录: |