Have a look at this other answer by LarsH: <http://superuser.com/a/486904/99285>. I think it is a much better more in-depth answer than the accepted one.
More tools besides ping used to support this. I distinctly remember that a RedHat upgrade broke acceptance of "1.2" in tools like ssh as an IP address and demanded 4-octet addresses sometime around 2003.
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.
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.
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".
Well the IP is global, but the number you provided is ambiguous. Egypt's country code is 20, following 62 is Suez[1]. Search for "+20 62" and you'll see 10 digit numbers that would ring in Egypt instead of Seattle.
As a side note/tip: Most phones these days (well, Android, iPhone, and Skype) accept the + for fully formatted numbers[2]. It makes it handy if you travel and want your stored contacts to work regardless of phone network.
It's a standard that everyone knows because they have been bitten by it. :(
I was curious about it being limited to the UNIX world, and indeed, C# is the only C-like language that does not have this feature. On the UNIX side, even Go decided to keep them [0]. Python dropped them in v3 but I'm not sure if that counts as a UNIXy language or not...
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.
However, the value of looking at ping is it let's you see a simple example of a lot of networking system calls which you can then dig into. I had a class project to write a simple web-server and text based browser in C and ping was actually a great place to start.
I think its sadder not that they don't know but don't bother our of sheer apathy and expect canned knowledge ready to be pumped into their minds on stack exchange or google.
That applies to the majority of 'knowledge' these days.
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).
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.
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. :)
I don't have a large network, so it's not too hard to remember. It's nice to know how to reach my Raspberry Pis from any machine, regardless of what I'm using them for or what hostname they have at the time (XBMC, AirPlay server, etc.)
44 comments
[ 3.3 ms ] story [ 55.6 ms ] threadSeems to work. My localhost is 172.16.53.144 and pinging 172.020.53.144 works, returning 172.16.53.144.
Never knew that notation was supported.
http://www.reddit.com/r/javascript/comments/11d9ya/can_someo...
Try for ex dig -t aaaa facebook.com
EDIT: Fun fact: Chrome's address bar will convert hex IPs for you on the fly. Try typing in http://0xDEADBEEF and look in the suggest box.
Blame? http://www.spinics.net/lists/linux-driver-devel/msg15311.htm...
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.
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".
As a side note/tip: Most phones these days (well, Android, iPhone, and Skype) accept the + for fully formatted numbers[2]. It makes it handy if you travel and want your stored contacts to work regardless of phone network.
1: http://en.wikipedia.org/wiki/Telephone_numbers_in_Egypt
2: http://en.wikipedia.org/wiki/E.164
I was curious about it being limited to the UNIX world, and indeed, C# is the only C-like language that does not have this feature. On the UNIX side, even Go decided to keep them [0]. Python dropped them in v3 but I'm not sure if that counts as a UNIXy language or not...
[0] http://groups.google.com/group/golang-nuts/browse_thread/thr...
- hackers can't read an RFC
- hackers don't know octal
- hackers can't trial-and-error an interesting behaviour until they see a pattern and learn for themselves.
All one has to do is look at the source for ping and questions like these are answered.
However, the value of looking at ping is it let's you see a simple example of a lot of networking system calls which you can then dig into. I had a class project to write a simple web-server and text based browser in C and ping was actually a great place to start.
That applies to the majority of 'knowledge' these days.
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.
something to be aware of, especially if you script batch processing of inputs that include lists of IPs.