On occasion, it is necessary to convert from a numeric value to an IP address, particularly if that numeric value was created by converting from an IP address. In a previous article, I showed how to Convert an IP Address to a Number, here I will show you how to reverse that process.
Create a new file called dec2ip
on your system containing the following code
#!/usr/bin/awk -f
BEGIN {
dec = ARGV[1]
for (e = 3; e >= 0; e--) {
octet = int(dec / (256 ^ e))
dec -= octet * 256 ^ e
ip = ip delim octet
delim = "."
}
printf("%s\n", ip)
}
Then make the file executable by running
$ chmod +x dec2ip
This script will take a single numeric value as an input parameter and will output the equivalent IP address as shown below
$ ./dec2ip 3232235777
192.168.1.1
The script will convert any numeric value from 0
to 4294967295
to its IP address equivalent from 0.0.0.0
to 255.255.255.255
. Anything outside of that range will produce unexpected results.
I tend to put these scripts into a folder on my system that is included in my PATH
variable, so I can use them whenever needed.