A python class to quickly search ip2asn data for range matches
Project description
Objective
A python class to search ip2asn information for matches.
Installation
Using pip:
pip3 install ip2asn
Or manually:
git clone git@github.com:hardaker/ip2asn.git
cd ip2asn
python3 setup.py build
python3 setup.py install
Example Usage
setup
curl -o ip2asn-v4-u32.tsv.gz https://iptoasn.com/data/ip2asn-v4-u32.tsv.gz
gunzip ip2asn-v4-u32.tsv.gz
command line
Searching for an address
# ip2asn -f ip2asn-v4-u32.tsv 8.8.8.8
Address: 8.8.8.8
Numeric ip: 134744072
ASN: 15169
Owner: GOOGLE - Google LLC
Country: US
ip_range: [134744064, 134744319]
Searching for an ASN
# ip2asn -f ip2asn-v4-u32.tsv -a 15169
ASN: 15169
Owner: GOOGLE - Google LLC
Country: US
ip_range: [134743040, 134743295]
ASN: 15169
Owner: GOOGLE - Google LLC
Country: US
ip_range: [134744064, 134744319]
ASN: 15169
Owner: GOOGLE - Google LLC
...
(google has a lot of registrations)
Coding
Searching by IP address
import ip2asn
i2a = ip2asn.IP2ASN("ip2asn-v4-u32.tsv")
result = i2a.lookup_address("93.184.216.34")
import pprint
pprint.pprint(result)
Produces:
{'ASN': '15133',
'country': 'US',
'ip_numeric': 1572395042,
'ip_range': [1572394752, 1572396543],
'ip_text': '93.184.216.34',
'owner': 'EDGECAST - MCI Communications Services, Inc. d/b/a Verizon Business'}
Searching by ASN
import ip2asn
i2a = ip2asn.IP2ASN("ip2asn-v4-u32.tsv")
results = i2a.lookup_asn(15169, limit=2) # limit is optional
import pprint
pprint.pprint(results)
``**
**Produces:**
``` text
[{'ASN': '15169',
'country': 'US',
'ip_range': [134743040, 134743295],
'owner': 'GOOGLE - Google LLC'},
{'ASN': '15169',
'country': 'US',
'ip_range': [134744064, 134744319],
'owner': 'GOOGLE - Google LLC'}]
Author
Wes Hardaker, USC/ISI
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ip2asn-1.2.tar.gz
(4.8 kB
view details)
Built Distribution
ip2asn-1.2-py3-none-any.whl
(5.5 kB
view details)
File details
Details for the file ip2asn-1.2.tar.gz
.
File metadata
- Download URL: ip2asn-1.2.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.2 pkginfo/1.4.2 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b615986d883d59ee90d623c9c60a7f08308add5dadc66864e327cd268f3ed56d |
|
MD5 | cd4ef4faefec41c913e4a047190931fb |
|
BLAKE2b-256 | cdff607c5504fedd805c577c2c4af642e98c0e30812dd48ec14e5f5f66788d2d |
File details
Details for the file ip2asn-1.2-py3-none-any.whl
.
File metadata
- Download URL: ip2asn-1.2-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.2 pkginfo/1.4.2 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55eed8b301e4378f04366dfc3f6afaf119d22bc659fa88ede5cb4844fc6ca3fe |
|
MD5 | d5562ed4ccb2b5b63c0fb5791379f56f |
|
BLAKE2b-256 | 0a9f859fd914ec482cf59e798605b235276ff62a71bca1e099f38253d9859a6e |