Bigalownz, Browsing to the folder on the APNIC server has a readme file that indicates that particular file is deprecated in favour of ftp://ftp.apnic.net/public/apnic/stats/apnic/delegated-apnic-latest. Also be wary this report is a list of the country of allocation and won't indicate where it is used. For example, there are some an Australian service providers using some of their ranges in New Zealand. It still works currently as a very coarse indication, but I'd be wary using it for geolocation - especially if you're using it to control access to some content. Out of curiousity, what are you planning on using the information for? Cheers, - Damian -- Damian Kissick http://www.actrix.co.nz On 19/09/15 23:49, Jethro Carr wrote:
Hi bigalownz,
I wrote a Puppet module that you can use to pull IP address lists from various registries. If you’re using Puppet, it means you can get an array of all the IPs for a specific region (such as NZ) for use in configuration files or resources.
https://github.com/jethrocarr/puppet-rirs
If you’re not using Puppet, the good news is that it’s almost entirely Ruby, so you could take a look at the function and adapt it very quickly to be a standalone script.
https://github.com/jethrocarr/puppet-rirs/blob/master/lib/puppet/parser/func...
regards, Jethro
-- Jethro Carr www.jethrocarr.com
On 19 September 2015 at 23:34:33, bigalownz (bigalownz(a)gmail.com) wrote:
im doing a little project and im looking for a script to get nz ip ranges
i did a Google search and found this, but as you can see it was from 2005 and out dated, the url doesn't work etc i need some help to update it thanks
#!/usr/local/bin/php
$in_file = "ftp://ftp.apnic.net/pub/apnic/dbase/data/country-ipv4.lst"; // $in_file = "country-ipv4.lst"; $out_file = "nzipranges.txt";
$handle_input = @fopen($in_file,"r") or die("Unable to open $in_file\n\n");
$handle_output = fopen($out_file, "w");
$now = date ("r");
fwrite ($handle_output,"# Generated: $now\n\n");
while (!feof($handle_input)) { $buffer = fgets($handle_input); if ( ereg ( "nz", $buffer) ) { // echo $buffer; $this_range = trim(preg_replace ( "#([\d\.]+) \- [\d\.]+ : [\d\.]+(\/\d+) .+#","$1$2", $buffer )); fwrite ($handle_output,"\n" . $this_range); } } fclose($handle_input);
fwrite ($handle_output,"\n"); fclose($handle_output);
?>