/Abeebus

A GeoIP lookup utility utilizing ipinfo.io services

Primary LanguagePythonMIT LicenseMIT

Abeebus

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:

Parse Email Headers and Files for GeoIP Location Data

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.