Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/9b/netinfo
Simple IP enrichment service and API wrapping PyASN and MaxMind GeoIP.
https://github.com/9b/netinfo
cybersecurity data devops enrichment ip-address-lookup network osint python3 webservice
Last synced: about 2 months ago
JSON representation
Simple IP enrichment service and API wrapping PyASN and MaxMind GeoIP.
- Host: GitHub
- URL: https://github.com/9b/netinfo
- Owner: 9b
- License: mit
- Created: 2018-12-24T20:30:59.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T01:30:10.000Z (about 2 years ago)
- Last Synced: 2024-05-14T03:45:48.374Z (8 months ago)
- Topics: cybersecurity, data, devops, enrichment, ip-address-lookup, network, osint, python3, webservice
- Language: Python
- Homepage: https://medium.com/@9bplus/netinfo-free-enrichment-for-ip-addresses-ecbcd62e43b6
- Size: 3.97 MB
- Stars: 71
- Watchers: 7
- Forks: 13
- Open Issues: 6
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
NetInfo
=======
NetInfo is a simple IP enrichment service to provide additional data related to an IP address. The primary utility of NetInfo is to serve as a API wrapper and management system for the PyASN and MaxMind GeoIP libraries. NetInfo will automatically seek and download new update files, ensuring the databases are always up-to-date. The local API queries the PyASN and GeoIP instance and returns back enrichment data for an IP address.Getting Started
---------------
Grab the dependencies::$ apt-get install redis-server rabbitmq-server
Check out netinfo to `/opt/`::
$ cd /opt && git clone https://github.com/9b/netinfo.git
Change directory to the `netinfo` working directory::
$ cd netinfo/
Setup the virtualenv::
$ virtualenv -p python3 venv3
Activate the virtualenv::
$ source venv3/bin/activate
Install the requirements::
$ (venv3) pip install -r requirements.txt
Install the services and start them.
See `Services README`_.
Or start the Celery Daemon::$ (venv3) /opt/netinfo/venv3/bin/celery worker -A worker.celery --loglevel=info -B
And start the server::$ (venv3) /opt/netinfo/venv3/bin/uwsgi --ini wsgi.ini
You can then access the API through http://localhost:7777 for more details.
.. _Services README: https://github.com/9b/netinfo/blob/master/service/README.rst
Sample Output
-------------
When calling http://localhost:7777/lookup?ip=74.96.192.82::{
"as_name": "UUNET - MCI Communications Services, Inc. d/b/a Verizon Business, US",
"as_num": 701,
"city": "Vienna",
"country_iso": "US",
"country_name": "United States",
"ip": "74.96.192.82",
"ip_hex": "0x4a60c052",
"ip_version": 4,
"latitude": 38.8977,
"longitude": -77.288,
"network": "74.96.0.0/16",
"network_broadcast": "74.96.255.255",
"network_hostmask": "0.0.255.255",
"network_netmask": "255.255.0.0",
"network_size": 65536,
"postal_code": "22181",
"region_iso": "VA",
"region_name": "Virginia"
}Unlike the standard PyASN library, NetInfo will add the AS name to the response, additional network data and the original IP address that was requested.
API Endpoints
-------------
The following endpoints are available within the NetInfo service.**/lookup?ip=8.8.8.8**
Get back AS, network information and geolocation for an IP address.
**/network-addresses?cidr=8.8.8.0/24**
Get back all IP addresses as part of a network range.
**/prefixes?asn=15169**
Get back all prefixes advertised for a specific AS network.
**/as-name?asn=15169**
Get back the name of the AS network.
**/geolocation?ip=8.8.8.8**
Get back geolocation information for an IP address.