3 ms·
I often use 0 == 0.0.0.0 == localhost
by SneManden 13y ago
I often use 0 == 0.0.0.0 == localhost
- ClashTheBunny 13y agoThis is not true. 0.0.0.0 may end up at localhost for you, but it's not localhost. I just get: PING 0.0.0.0 (0.0.0.0): 56 data bytes ping: sendto: No route to host Which system do you use that this works on?
- reidrac 13y agoI don't know about the OP, but in Ubuntu Precise "ping 0" pings to 127.0.0.1. I can't explain why.
- ordinary 13y agoFrom what I can tell, the use of '0' or '0.0.0.0' as a destination address is not official. It should only be used as a source address. From RFC 5735 - Special USe IPv4 Addresses: 0.0.0.0/8 - Addresses in this block refer to source hosts on "this" network. Address 0.0.0.0/32 may be used as a source address for this host on this network; other addresses within 0.0.0.0/8 may be used to refer to specified hosts on this network. Support for it looks to be flaky. 'ping 0' and 'ping 0.0.0.0' work for me on various Linuxes ("64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.026 ms"), but not on Windows 7 ("sendto: Cannot assign requested address") or Windows Server 2003 ("Destination specified is invalid").
- reidrac 13y agoIPv6 behaviour seems to be the same: "ping6 ::" pings to ::1: (localhost). This is intriguing, really :) EDIT: oh, you already pointed to the RFC :)
- laumars 13y agoMy understanding is that 0.0.0.0 is the opposite of localhost as binding a daemon to 0 would bind that service to every interface and on any available IP. This means if you have MySQL (for example) listening on 0, it's not just listening on your localhost address but also on any WAN / LAN IPs you have as well.