Jic*_*hao 264 ip netstat ip-address
我知道 127.0.0.1 ~ 127.255.255.254 是大多数现代操作系统的环回 IP 地址,这些 IP 地址可以用来指代我们自己的计算机。
但什么是 0.0.0.0?好像也指本地电脑,那有什么区别呢?
并且,您能否为我解释以下 IP 连接:
Lee*_*e B 181
唯一的问题是您没有说“所有地址都应该具有访问权限”——这是在您的防火墙和/或服务器软件和/或其他安全层(如 tcpwrappers)中完成的。
在这种情况下,0.0.0.0 表示“本地机器上的所有 IP 地址”(实际上可能是“本地机器上的所有 IPv4 地址”)。因此,如果您的网络服务器机器有两个 IP 地址,192.168.1.1 和 10.1.2.1,并且您允许像 apache 这样的网络服务器守护程序侦听 0.0.0.0,它将可以在这两个 IP 地址上访问。但仅限于可以联系这些 IP 地址和 Web 端口的内容。
请注意,在不同的上下文(路由)中,0.0.0.0 通常表示默认路由(到互联网“其余部分”的路由,除了本地网络中的路由等)。
Mas*_*imo 43
IP 地址0.0.0.0可以具有非常不同的含义,具体取决于它的使用位置。
0.)。netstat命令的输出中看到(这就是您要求的)时,这意味着给定的套接字正在侦听计算机拥有的所有可用 IP 地址;当一台计算机有多个IP地址时,一个socket只能绑定到一个特定的地址和端口对,或者一个端口和所有地址;如果您在那里看到 IP 地址,则表示套接字仅在该端口和该特定地址上侦听;如果您看到0.0.0.0,则表示它正在侦听机器所有地址上的该端口,包括环回地址 ( 127.0.0.1)。小智 29
Lee B 的回答是正确的,但如果您有兴趣,这里有一些相关的 RFC。
0.0.0.0:
来自RFC1122,第 3.1.2.3 节:
我们现在总结了 A、B 和 C 类 IP 地址的重要特殊情况,使用以下 IP 地址表示法:
Run Code Online (Sandbox Code Playgroud){ <Network-number>, <Host-number> } or { <Network-number>, <Subnet-number>, <Host-number> }...
Run Code Online (Sandbox Code Playgroud)(a) { 0, 0 } This host on this network. MUST NOT be sent, except as a source address as part of an initialization procedure by which the host learns its own IP address.
就是这样,“这个网络上的这个主机”......正如 Lee B 的回答所说,这会转换为您主机上的所有可用 IP 地址。在 0.0.0.0 上托管服务将自动在每个可寻址接口上托管该服务。
127.0.0.1:
来自RFC5735:
127.0.0.0/8 - 该块被分配用作 Internet 主机环回地址。由更高级别协议发送到该块内任何地址的数据报在主机内部循环。这通常仅使用 127.0.0.1/32 来实现环回。如 [RFC1122] 第 3.2.1.3 节所述,整个 127.0.0.0/8 块内的地址不会合法地出现在任何网络的任何地方。
0.0.0.0 和环回地址 127.0.0.1 之间的区别在于,环回地址被设计为允许在主机内部使用功能齐全的 IP 接口,而不管网络设置的其余部分(如果有的话)是什么样的。发送到环回设备的任何流量都会立即在其上接收。环回网络“引用”到您自己的主机并不是那么多……更像是您的主机中有一个迷你网段,设备、处理和套接字可以打开和连接到。
| 归档时间: |
|
| 查看次数: |
306082 次 |
| 最近记录: |