IPv4 Address Conversion Tricks

01-09-2013 | Remy van Elst


Table of Contents


Theory

Did you know that http://3515693643/ is a valid link? Why? Because this is the decimal form of the binary IP address. Normally we represent IP addresses as 10.0.0.1, 4 blocks of numbers. Those numbers are actually binary octets represented in decimal, therefore they can never be more than 255. If we take the whole binary number of all blocks, and convert that to base 10, we get a result like above, which in turn is a working network address.

This "feature" is documented in the inet_aton(3) manpage.

I've written a little javascript based converter so you can try it out yourself.

Example

Take the IP address 209.141.58.75. As a binary octets that would be: 1101000.11000110.10011101.001001011. That whole number (without the dots), converted back to decimal in turn is: 3515693643.

And, that is a working network address:

$  ping 3515693643
PING 3515693643 (209.141.58.75): 56 data bytes
64 bytes from 209.141.58.75: icmp_seq=0 ttl=47 time=180.208 ms
64 bytes from 209.141.58.75: icmp_seq=1 ttl=47 time=197.890 ms

Example Converter

IP-JS.png

Go to the converter


Tags: binary, decimal, ip, ipv4, math, network, octal,