/cloud_ip_ranges

Identify IP addresses owned by public cloud providers

Primary LanguagePythonMIT LicenseMIT

Cloud IP Ranges

Description

Most cloud providers publish up to date lists of their IP address ranges. This tools identifies if an IP belongs to a provider's ranges by fetching and parsing the latest lists.

Supports:

  • AWS (source)
  • Azure (source)
  • Google Cloud Platform (source)
  • Alibaba Cloud (currently doesn't publish lists)
  • Oracle Cloud Infrastructure (source)
  • IBM Cloud (currently doesn't publish lists)
  • DigitalOcean (source)

This tool is inspired by Nimbusland by Bryce Kunz.

Usage

The preferred installation method is with pipx:

$ pipx install https://github.com/nccgroup/cloud_ip_ranges
$ cloud_ip_ranges

Alternatively, you can setup a virtual environment and install dependencies:

$ virtualenv -p python3 venv
$ source venv/bin/activate
$ pip install -r requirements.txt

Run the tool:

$ cloud_ip_ranges -h

usage: cloud_ip_ranges [-h] [-q] ip

positional arguments:
  ip           The IP to evaluate, e.g.: 8.8.8.8

optional arguments:
  -h, --help   show this help message and exit
  -q, --quiet  Suppress logging output

$ cloud_ip_ranges 52.4.0.0

2020-09-18 17:38:42 host __main__[21549] INFO Starting
2020-09-18 17:38:42 host __main__[21549] INFO Checking for AWS
2020-09-18 17:38:43 host __main__[21549] INFO Match for AWS range "52.4.0.0/14", region "us-east-1" and service "AMAZON"
2020-09-18 17:38:43 host __main__[21549] INFO Match for AWS range "52.4.0.0/14", region "us-east-1" and service "EC2"
2020-09-18 17:38:43 host __main__[21549] INFO Checking for Azure
2020-09-18 17:38:44 host __main__[21549] INFO Checking for GCP
2020-09-18 17:38:44 host __main__[21549] INFO Checking for OCI
2020-09-18 17:38:44 host __main__[21549] INFO Done