Note that when you write an IP address in the form a.b.c, the c is actually allowed to be 16 bits. E.g., 192.168.2345, which is equivalent to 192.168.9.41.<p>Note also that telephone numbers in the US can be written in the form a.b.c, where a and b are 3 digits and c is four digits.<p>It would be really cool to get a matching telephone number and IP address, so you could print on your business card something like "Telephone and IP: 206.253.2317".
It is a sad day for computing when<p>- hackers can't read an RFC<p>- hackers don't know octal<p>- hackers can't trial-and-error an interesting behaviour until they see a pattern and learn for themselves.
072 octal = 58 decimal?<p>Seems to work. My localhost is 172.16.53.144 and pinging 172.020.53.144 works, returning 172.16.53.144.<p>Never knew that notation was supported.
Have a look at this other answer by LarsH: <<a href="http://superuser.com/a/486904/99285>" rel="nofollow">http://superuser.com/a/486904/99285></a>. I think it is a much better more in-depth answer than the accepted one.
All of those posts and no mention of strtol(), which is probably what's making this base-swapping behavior actually work? Oh well.<p><pre><code> $ ping 0x7f.0x0.0x0.0x1
PING 0x7f.0x0.0x0.0x1 (127.0.0.1): 56 data bytes</code></pre>
You can use this in your web browser. Some really crappy local filters will also let you pass by using decimal/octal notation. Was a great trick in high school.
in this case it's octal in action. leading 0 causes the libc calls to expect non-decimal input (octal or hex, depending on what comes next).<p>a few organizations, FWIW, insist on writing decimal dotted quads zero padded (e.g. 192.168.19.20 becomes 192.168.019.020) for evan formatting. this barfs various tools and scripts that (not surprisingly) expect octal if they see a leading 0 and then barf on the non-octal-ness of the data OR get it wrong.<p>something to be aware of, especially if you script batch processing of inputs that include lists of IPs.
I stumbled upon this by accident a couple of years ago. Setup your internal network to start at 10.0.0.1 (or should I say…10.1), and you'll never need to type out a bunch of zeros again! My NAS has a static IP of 10.2. :)