从命令行打印/列出/检查地址块,匹配 CIDR 网络前缀?

从命令行打印/列出/检查地址块,匹配 CIDR 网络前缀?

我不是网络方面的专家,但我知道(IPv4)地址可以写成如下格式127.0.0.1/16。我尝试阅读维基百科的IPv4 子网划分参考子网CIDR 表示法- 但它比我需要的详细得多。

本质上,我暂时不需要理解 CIDR 表示法 - 我想要的只是一个命令行工具,在其中我可以输入类似的内容127.0.0.1/16,然后看看它匹配哪些地址。

是否有一个命令行工具可以用于此目的?

答案1

ipcal请从以下网页尝试:http://www.jodies.de/ipcalc

答案2

好吧,在网上搜索了一下,我无意中发现了这个:

它是一个 Python 脚本,所以我在下载时简单地重命名了它,然后像这样使用它:

$ wget http://brandon.sternefamily.net/files/cidr.txt -O cidr.py
$ python cidr.py 127.0.0.1/30
127.0.0.0
127.0.0.1
127.0.0.2
127.0.0.3

我很想知道是否还有其他东西可以像这样工作......

好吧,希望这对某人有帮助,
干杯!


编辑:原始链接似乎消失了,这里是存档:http://web.archive.org/web/20100307140430/http://brandon.sternefamily.net/files/cidr.txt

答案3

你需要以下建议:

$ prips 127.0.0.0/16

小心它将打印 65536 行:

$ prips 127.0.0.0/16 | wc -l
65536

顺便说一句:127.0.0.1 是错误输入,因为它是主持人在一个范围内,但您必须指定网络. 使用 ipcalc 获取网络:

$ ipcalc -b 127.0.0.1/16

地址:127.0.0.1
网络掩码:255.255.0.0 = 16
通配符:0.0.255.255
=> 网络:127.0.0.0/16
HostMin:127.0.0.1
HostMax:127.0.255.254
广播:127.0.255.255
主机/网络:65534 A 类,环回

相关内容