查明 IPv6 前缀是否在某个范围内?

查明 IPv6 前缀是否在某个范围内?

是否有人知道可以用来快速找出 IPv6 前缀是否在某个范围内的工具或实用程序?

例如,给定的输入前缀范围fe80-febf和它的输入前缀fe79将返回 true 以指示后一个参数在前者之内。

或者另一个例子是给出输入前缀范围fe80-febf并且它的输入前缀fe81将返回 false 以指示后一个参数超出了前者指定的范围。

答案1

就我个人而言,我会打破蟒蛇。

>>> x = 'fe79'
>>> int('fe80', 16) <= int(x, 16) <= int('febf', 16)
False
>>> x = 'fe81'
>>> int('fe80', 16) <= int(x, 16) <= int('febf', 16)
True

答案2

将地址完全扩展为 39 个字符的字符串表示形式,然后使用字符串比较?

不是最快的,但可能是最简单的

相关内容