Abeebus is a GeoIP lookup utility utilizing ipinfo.io services. This script is very useful for parsing email headers, log files, and any other arbitrary data for IPv4 addresses.
Video Demo:
For any given file(s), Abeebus will:
- Extract valid IPv4 addresses (e.g., "CSI: Cyber" addresses like 951.27.9.840 will not match)
- Ignore duplicates
- Ignore bogon addresses, the loopback network, link local addresses, and RFC 1918 ranges
For each remaining address, Abeebus will provide the following data as available from ipinfo.io:
- IP Address, Hostname, Country, Region, City, Postal Code, Latitude, Longitude, ASN
By default, Abeebus will display the data to stdout in the following format:
IP Address | Hostname | Country | Region | City | Postal Code | Latitude | Longitude | ASN
52.73.116.225 | ec2-52-73-116-225.compute-1.amazonaws.com | US | Virginia | Ashburn | 20149 | 39.0437 | -77.4875 | AS14618 Amazon.com Inc.
- Using the "-w" option, you can provide a filename to which Abeebus will output the data in CSV format (useful for working with large data sets in Microsoft Excel or LibreOffice Calc):
IP Address,Hostname,Country,Region,City,Postal Code,Latitude,Longitude,ASN
52.73.116.225,ec2-52-73-116-225.compute-1.amazonaws.com,US,Virginia,Ashburn,20149,39.0437,-77.4875,AS14618 Amazon.com Inc.
- Using the "-s" option, Abeebus will sort the addresses numerically by the first octet.
Abeebus does not use any external libraries, and is compatible with Python 2 and 3.