用 PHP 如何实现输出所有 IP 地址?

2016-07-01 23:56:25 +08:00
 lslqtz
主要是因为是 1.1.1.1 这种形式的,脑子直接抽了。
想输出全部 IP 地址,包括保留地址和内网地址,姿势越优雅(逃)越好~~
3540 次点击
所在节点    PHP
24 条回复
yangqi
2016-07-02 00:05:08 +08:00
for($i=0; $i <= 4294967295; $i++) {
print long2ip($i);
}
lslqtz
2016-07-02 00:14:26 +08:00
已感谢,真-优雅
pubby
2016-07-02 00:14:54 +08:00
$ip:0~2^32-1 long2ip($ip)
lslqtz
2016-07-02 00:17:19 +08:00
@yangqi 但是我发现会输出 0.*.*.*的 IP 。。
lslqtz
2016-07-02 00:17:47 +08:00
@yangqi
0.0.0.0
0.0.0.1
0.0.0.2
0.0.0.3
0.0.0.4
0.0.0.5
0.0.0.6
0.0.0.7
0.0.0.8
0.0.0.9
0.0.0.10
0.0.0.11
我试着执行了。。
aprikyblue
2016-07-02 00:18:34 +08:00
for($i=0; $i <= 255; $i++) {
for($j=0; $j <= 255; $j++) {
for($k=0; $k <= 255; $k++) {
for($l=0; $l <= 255; $l++) {
print sprintf("%d.%d.%d.%d", $i, $j, $k, $l);
}
}
}
}
yangqi
2016-07-02 00:19:40 +08:00
0.0.0.0 - 0.255.255.255 是保留地址,你不是要包括保留地址么
lslqtz
2016-07-02 00:20:25 +08:00
@aprikyblue 好评,本来我也想用 for ,但我感觉自己写没思路,写出来估计全会是连着的。。
lslqtz
2016-07-02 00:20:42 +08:00
@yangqi 长见识了,感谢。
yangqi
2016-07-02 00:23:53 +08:00
@lslqtz 这个输出的是所有的 IPv4 的地址
lslqtz
2016-07-02 00:29:31 +08:00
@yangqi 明白, IPv6 还暂时碰不到
vibbow
2016-07-02 08:49:54 +08:00
友情提示, 1 楼的代码需要 真-64 位 PHP 执行
Snowden
2016-07-02 08:53:11 +08:00
@vibbow +1
notgod
2016-07-02 10:33:07 +08:00
for($n1=0; $n1 < 256; $n1++) {
for($n2=0; $n2 < 256; $n2++) {
for($n3=0; $n3 < 256; $n3++) {
for($n4=0; $n4 < 256; $n4++) {
echo $n1 . "." . $n2 . "." . $n3 . "." . $n4 . "\n";
}
}
}
}
shyling
2016-07-02 10:47:54 +08:00
4 层 for
0..2**32 再转成 ip 的格式
shyling
2016-07-02 10:50:10 +08:00
@shyling 忘了一个点。。
muziyue
2016-07-02 15:19:19 +08:00
不就是加强版的 99 乘法表么
lslqtz
2016-07-02 17:27:36 +08:00
@vibbow 还好我不用 win 。。
jhdxr
2016-07-02 21:11:57 +08:00
@lslqtz win 下又不是没有 64 位的 php http://windows.php.net/download/ 里不是就有么,你也可以自己编译一份,这黑的真是莫名其妙
lslqtz
2016-07-02 21:38:59 +08:00
@jhdxr 知道啊。。 win 很多环境库是 32 位, 64 位用过,不是黑。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/289726

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX