IP 地址 0.0.0.0 和 127.0.0.1 有什么区别?

IP 地址 0.0.0.0 和 127.0.0.1 有什么区别?

我知道127.0.0.1~127.255.255.254是大多数现代操作系统的环回IP地址,这些IP地址可以用来指代我们自己的计算机。

但是 0.0.0.0 是什么?它似乎也指本地计算机,那么不同之处

另外,您能为我解释一下以下 IP 连接吗:

netstat -an 输出的屏幕截图

答案1

唯一的是,您并没有说“所有地址都应该有访问权限”——这是在您的防火墙和/或服务器软件和/或其他安全层(如 tcpwrappers)中完成的。

0.0.0.0在此上下文中, 表示“本地计算机上的所有 IP 地址”(实际上可能表示“本地计算机上的所有 IPv4 地址”)。因此,如果您的 Web 服务器计算机有两个 IP 地址,192.168.1.110.1.2.1,并且您允许 Web 服务器守护程序(如 Apache)监听0.0.0.0,则可以通过这两个 IP 地址访问它。但仅限于可以联系这些 IP 地址和 Web 端口的对象。

请注意,在不同的上下文中(路由)0.0.0.0通常意味着默认路由(除了本地网络中的路由等之外,到互联网“其余部分”的路由)。

答案2

当服务监听 0.0.0.0 时,这意味着该服务正在监听所有配置的网络接口;当监听 127.0.0.1 时,该服务仅绑定到环回接口(仅在本地机器上可用)

答案3

IP 地址0.0.0.0可以具有非常不同的含义,具体取决于其使用地点。

  • 它不是可以提供给实际网络接口的有效地址,以及 0.0.0.0/8 子网中的任何其他地址(即以 开头的任何地址0.)。
  • 它不能用作任何 IP 数据包的源地址,除非计算机还不知道自己的 IP 地址并且正在尝试获取 IP 地址(典型示例:DHCP)。
  • 如果在路由表中使用,它标识默认网关;到 0.0.0.0 的路由是默认路由,即,当没有更具体的路由可用于目标地址时使用的路由。
  • 最后,当在命令的输出中看到时netstat(这是您要求的),这意味着给定的套接字正在监听计算机拥有的所有可用 IP 地址;当计算机具有多个 IP 地址时,套接字只能绑定到特定的地址和端口对,或者绑定到端口和全部地址;如果你在那里看到一个 IP 地址,这意味着套接字只监听该端口和特定的地址;如果你看到0.0.0.0,这意味着它正在监听该端口全部机器的地址,包括环回地址(127.0.0.1)。

答案4

简单来说:监听 0.0.0.0 意味着从任何可以访问此计算机的地方进行监听,例如从这台计算机、本地网络或互联网,而监听 127.0.0.1 意味着只从这台计算机进行监听

相关内容