You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Daniel Carrillo 61970f6679
Merge pull request #7 from dcarrillo/fix-mypy
3 weeks ago
.github/workflows Ensure tests run for every push 7 months ago
digaws Return an empty array when there is no data for json output 5 months ago
tests Fix test 5 months ago
.gitignore First commit 7 months ago
LICENSE First commit 7 months ago
README.md Add badges to README.md 7 months ago
noxfile.py Install missing stubs for mypy 3 weeks ago
requirements.txt First commit 7 months ago
requirements_test.txt First commit 7 months ago
setup.py Fix license at setup.py 7 months ago

README.md

digaws

The digaws lookup tool displays information for a given IP address (v4 o v6) or a CIDR, sourced from the AWS official IP ranges. In order to save bandwidth and time this tool requests the AWS IP ranges and keeps a cached version until a new version is published.

PyPI version CI

Requirements

Python >= 3.7

Tests are verified on Linux, macos and Windows.

Install

pip install digaws

Usage

usage: digaws [-h] [--output <plain|json>] [--output-fields [{prefix,region,service,network_border_group} ...]] [--debug] [--version] <ip address|cidr> [<ip address|cidr> ...]

Look up canonical information for AWS IP addresses and networks

positional arguments:
  <ip address|cidr>     CIDR or IP (v4 or v6) to look up

optional arguments:
  -h, --help            show this help message and exit
  --output <plain|json>
                        Formatting style for command output, by default plain
  --output-fields [{prefix,region,service,network_border_group} ...]
                        Print only the given fields
  --debug               Enable debug
  --version             show program's version number and exit

Examples

  • look up an IPv4 address
~ » digaws 52.218.97.130

Prefix: 52.218.0.0/17
Region: eu-west-1
Service: AMAZON
Network border group: eu-west-1

Prefix: 52.218.0.0/17
Region: eu-west-1
Service: S3
Network border group: eu-west-1
  • look up an IPv6 address
~ » digaws 2600:1f1e:fff:f810:a29b:cb50:2812:e2dc

IPv6 Prefix: 2600:1f1e::/36
Region: sa-east-1
Service: AMAZON
Network border group: sa-east-1

IPv6 Prefix: 2600:1f1e:fff:f800::/53
Region: sa-east-1
Service: ROUTE53_HEALTHCHECKS
Network border group: sa-east-1

IPv6 Prefix: 2600:1f1e::/36
Region: sa-east-1
Service: EC2
Network border group: sa-east-1
  • look up several addresses and print output as json
~ » digaws 2600:1f14::/36 13.224.119.88 --output json

[
  {
    "ipv6_prefix": "2600:1f14::/35",
    "region": "us-west-2",
    "service": "AMAZON",
    "network_border_group": "us-west-2"
  },
  {
    "ipv6_prefix": "2600:1f14::/35",
    "region": "us-west-2",
    "service": "EC2",
    "network_border_group": "us-west-2"
  },
  {
    "ip_prefix": "13.224.0.0/14",
    "region": "GLOBAL",
    "service": "AMAZON",
    "network_border_group": "GLOBAL"
  },
  {
    "ip_prefix": "13.224.0.0/14",
    "region": "GLOBAL",
    "service": "CLOUDFRONT",
    "network_border_group": "GLOBAL"
  }
]
  • Choose output fields
~ » digaws 34.255.166.63 --output-fields service

Service: AMAZON

Service: EC2