我需要获取属于某个范围/CIDR 的所有 IP。我可以使用什么命令、脚本 (bash) 或实用程序来实现此目的?
重要提示:我需要打印完整的 IP 地址列表
例子:
192.168.0.1-192.168.0.255
or
192.168.0.0/24
结果:
192.168.0.1
192.168.0.2
etc
192.168.0.255
或者
192.168.0.1-192.168.255.255
or
192.168.0.0/16
结果
192.168.0.1
192.168.0.2
etc
192.168.255.255
答案1
使用nmap
标志-sL您可以列出它们。然后借助 ,grep
您可以仅选择包含和地址的输出行。
最后,使用 cut 选择每行的第 5 个字段:
nmap -sL -n 192.168.0.0/24 | grep 'Nmap scan report for' | cut -f 5 -d ' '
列出 /24 的所有 255 个地址
或者
nmap -sL -n 192.168.0.0-16| grep 'Nmap scan report for' | cut -f 5 -d ' '
从 192.168.0.0 到 192.168.0.16
答案2
我建议你用谷歌搜索“IP计算器”或“网络范围计算器”
您将获得许多可以免费为您提供帮助的网站。
例如: