I’ve been wanting to create a custom MaxMind mmdb file for alternate IPv4 range classifications for a while, and finally had an opportunity to do so for the $DAYJOB. MaxMind mmdb files are small and easy to work with and provide lightning fast lookups.
This repo — https://github.com/hrbrmstr/clouds2mmdb — has an R script for pulling cloud provider info (I already had some boilerplate code for it and detest reinventing the wheel in another language just to keep a project in a single language) and a Python script for the custom mmdb writing.
Current providers supported are:
- AWS
- Azure
- DigitalOcean
- Google (GCP)
- Oracle Cloud
- Rackspace (see
clouds2csv.r
for the details)
and, PRs are welcome for other cloud providers.
The provider info is stored in the isp
field:
mmdblookup --file clouds.mmdb --ip 167.99.224.0 isp
##
## "DigitalOcean" <utf8_string>
##