IPcat, for jRuby
IPcat provides blocks of IP, that correspond to datacenters, co-location centers, shared and virtual webhosting providers.
You have to fetch the CSV file (GPL licensed) from the original website.
Usage
require 'ipcat'
datacenters = IPCat::Datacenters.new('datacenters.csv')
p datacenters.find('54.186.104.15') # rubygems.org
Benchmark
Fetch some IPs from your logs :
zgrep "authentication failure" /var/log/auth.log.*.gz | grep pam_unix | cut -d ' ' -f 14 | cut -d '=' -f 2 | sort | uniq > ip.txt
Clean resolved domain names, keep only IP.
Build
rake jar
gem build ipcat.gemspec
License
MIT