Skip to main content

Check ASNs and metadata for a list of IPs

Project description

ASN Check

PyPI version Python Code style: black Hatch project

Given a list of IPs the tool returns their AS numbers and names.

Data sources:

Features:

  • Caching the data from sources - first run may take a long time,
  • Binary IP network search for high throughput,
  • Returns AS Number, AS Name and a country code for each IP address.
  • Supports both IPv4 and IPv6
  • Also available as a lib!

Installation

pip install asn-check

Options

  --input-file FILENAME           Input file with one IPv4 per line  [default:STDIN]
  --output-file FILENAME          Output file - csv, header: ip,asn,name,country_code  [default: STDOUT]
  --log-level [DEBUG|INFO|WARNING|ERROR|CRITICAL] Set logging level.  [default: WARNING]
  --help                          Show this message and exit.

Example CLI

$ echo '250.254.147.119
    12.154.0.67
    41.13.122.240
    176.218.30.1078
    128.105.177.84
    85.227.158.196
    74.74.207.74
    2a03:2880:f077::1' | asn-check 

Output:

ip,asn,name,country_code
250.254.147.119,,,
12.154.0.67,7018,ATT-INTERNET4,US
41.13.122.240,29975,VODACOM-,ZA
128.105.177.84,59,WISC-MADISON-AS,US
85.227.158.196,2119,TELENOR-NEXTEL Telenor Norge AS,NO
74.74.207.74,11351,TWC-11351-NORTHEAST,US
2a03:2880:f077::1,32934,FACEBOOK,US

Example Lib Usage

from ipaddress import ip_address
from asn_check import ASNChecker

checker = ASNChecker() 
print(checker.search(ip_address("12.154.0.67")))

Output:

{'ip': IPv4Address('12.154.0.67'), 'asn': '7018', 'name': 'ATT-INTERNET4', 'country_code': 'US'}

Note: If you'd like to use your own data sources, theoretically you can, but they need to follow the same format as the APNIC sources (and the format is not consistent!) - check out the constructor options asn_routes_url_v4, asn_routes_url_v6, asn_names_url. I'd recommend sticking to the defaults.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asn_check-1.1.0.tar.gz (22.0 kB view hashes)

Uploaded Source

Built Distribution

asn_check-1.1.0-py3-none-any.whl (19.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page