![从命令行打印/列出/检查地址块,匹配 CIDR 网络前缀?](https://linux22.com/image/1360645/%E4%BB%8E%E5%91%BD%E4%BB%A4%E8%A1%8C%E6%89%93%E5%8D%B0%2F%E5%88%97%E5%87%BA%2F%E6%A3%80%E6%9F%A5%E5%9C%B0%E5%9D%80%E5%9D%97%EF%BC%8C%E5%8C%B9%E9%85%8D%20CIDR%20%E7%BD%91%E7%BB%9C%E5%89%8D%E7%BC%80%EF%BC%9F.png)
我不是网络方面的专家,但我知道(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 类,环回