小编Phi*_*ing的帖子

0.0.0.0 的定义在各个操作系统中是否一致?

我最近非常惊讶地发现0.0.0.0 是一个有效的 IP 地址,并且实际上具有定义的“含义”和用途。

IANA 分配 0.0.0.0/32表示“此网络上的主机”,如RFC 1122 第 3.2.1.3 节所定义。虽然 RFC 1122 规定不得将其作为网络上的目的地在 IP 数据包中发送,但它没有定义如何在主机内部解释该地址。

除了... RFC 1122 将其命名为“此网络上的此主机”,暗示与“localhost”的含义非常相似。

在 Linux 上,尝试连接到 0.0.0.0 会导致连接到 localhost(假设有东西正在侦听)。这似乎与 RFC 1122 名称一致。但是我没有看到它在标准中定义(我什至不确定哪个标准会涵盖它,因为它是操作系统内部的)。

所以我的问题是:Linux对connect()0.0.0.0的解释与其他操作系统一致吗?它们在众所周知的操作系统内核(Windows / UNIX / ...)中是否有任何显着的例外。

我对此特别感兴趣,因为 DNS 服务器“错误地”使用 0.0.0.0 作为黑洞,导致与本地主机的虚假连接。

networking

5
推荐指数
1
解决办法
578
查看次数

标签 统计

networking ×1