IPtoLL is a hostname to latitude/longitude conversion tool. It uses the whois facility provided by the Internic (using the city of the administrative contact for the domain under which the host is registered).
IPtoLL is organized using a perl5 module to encapsulate all functionality. For example:
require IPtoLL; $converter = new IPtoLL; ($lat, $lon) = $converter->hostname_to_location("www.mcs.anl.gov");
IPtoLL is being released without guarantee of support. It is, for the most part, a reworking of an old tool to use a relational database and the object-oriented features of perl 5. The installation notes are quite rough, and may well require iteration in order to converge.
That being said, I hope this is of use. Feel free to send me mail at email@example.com and I'll try to give you a hand.
Please send me mail at firstname.lastname@example.org if you find this package useful as well. If there is interest, I can attempt to make the time to better support it.
The main requirement for IPtoLL is the presence of a relational database in which thedomain-to-city cache and the city-to-location database are stored. IPtoLL uses the DBI module to interface to the database. The mSQL database is freely available (at ftp://Bond.edu.au/pub/Minerva/msql/) to non-commerical sites and works well for this tool.
IPtoLL also requires the IO module. These modules are available via CPAN, the Comprehensive Perl Access Network. See http://www.perl.com/perl/info/software.html for information about CPAN and other Perl software availability information.
The latest version of IPtoLL is available at ftp://ftp.mcs.anl.gov/pub/futures-lab/MML/IPtoLL/IPtoLL.tar.gz
The map database required for database initalization is available at ftp://ftp.mcs.anl.gov/pub/futures-lab/MML/IPtoLL/cities.netmap.gz.
IPtoLL is packaged as a Perl5 module. As such, all it should take to build, test, and install is the following:
Please see the copyright notification in the file COPYRIGHT in the distribution, or at ftp://ftp.mcs.anl.gov/pub/futures-lab/MML/IPtoLL/COPYRIGHT.