summaryrefslogtreecommitdiff
path: root/iphex
diff options
context:
space:
mode:
Diffstat (limited to 'iphex')
-rwxr-xr-xiphex30
1 files changed, 30 insertions, 0 deletions
diff --git a/iphex b/iphex
new file mode 100755
index 0000000..1093aaa
--- /dev/null
+++ b/iphex
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+"""A very simple script to convert an integer into an IPv4 address.
+ Expects an integer as the only argument."""
+from sys import argv
+
+def from_base256(number):
+ num = int(number, 16)
+ addr = list()
+ for e in range(3, -1, -1):
+ multiplier = 256 ** e
+ octet = num // multiplier
+ addr.append(str(octet))
+ num = num % multiplier
+
+ return '.'.join(addr)
+
+def to_base256(addr):
+ addr = addr.split('.')
+ num = 0
+ for e in range(3, -1, -1):
+ num += int(addr[3-e]) * 256 ** e
+
+ return '{0:08x}'.format(num)
+
+try:
+ result = from_base256(argv[1])
+except ValueError:
+ result = to_base256(argv[1])
+
+print(result)