如何将网络掩码转换为特定的网络掩码。
示例:127.0.0.0/16 转换为 /24 网络掩码。
它应该输出如下内容:
127.0.0.0/24
127.0.1.0/24
127.0.2.0/24
127.0.2.0/24
等一直到 127.0.255.0/24。
这如何通过 PHP 来实现?我找到了这个工具: http: //jodies.de/ipcalc它是用 PERL 编码的。如何使用 PHP 获得类似的功能?
我发现了这个:http: //jasonkolpin.com/classes/ipcalc/demo.php虽然它似乎坏了.. 可能会尝试修复它。
更新已解决:我基本上运行:$exec = shell_exec("/usr/local/bin/ipcalc 127.0.0.0/16 24 -b -n");
并解析出 Network: 字段。这基本上将 127.0.0.0/16 转换为所有 /24s。
确保在主机上安装了 ipcalc 以完成此操作。您可以通过yum install ipcalc
在 CentOS、apt-get install ipcalc
Ubuntu 或cd /usr/ports/net-mgmt/ipcalc/ && make install clean
FreeBSD 中使用来做到这一点 :)