Hi
Need from the ripe database the subnets in cidr of some specific country?
Here my nooby approach to get this done.
wget ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-latest vim ripeconvert.pl
Paste the following code:
#!/usr/bin/perl %subnet =(); $subnet{'4'} = "30"; $subnet{'8'} = "29"; $subnet{'16'} = "28"; $subnet{'32'} = "27"; $subnet{'64'} = "26"; $subnet{'128'} = "25"; $subnet{'256'} = "24"; $subnet{'512'} = "23"; $subnet{'1024'} = "22"; $subnet{'2048'} = "21"; $subnet{'4096'} = "20"; $subnet{'8192'} = "19"; $subnet{'16384'} = "18"; $subnet{'32768'} = "17"; $subnet{'65536'} = "16"; $subnet{'131072'} = "15"; $subnet{'262144'} = "14"; $subnet{'524288'} = "13"; $subnet{'1048576'} = "12"; #special ripe database $subnet{'768'} = "22"; $subnet{'1280'} = "21"; $subnet{'1536'} = "21"; $subnet{'2560'} = "20"; $subnet{'2816'} = "20"; $subnet{'3072'} = "20"; $subnet{'9216'} = "18"; $subnet{'12288'} = "18"; $subnet{'13312'} = "18"; open(INFO,"<delegated-ripencc-latest"); @ripe = <INFO>; close(INFO); sort(@ripe); foreach $data (@ripe) { chomp($data); if ( $data =~ /ipv4/ && $data =~ /AT/ ) { @sdata = split('\|',$data); print @sdata[3]."\/".$subnet{"@sdata[4]"}."\n"; } if ( $data =~ /ipv6/ && $data =~ /AT/ ) { @sdata = split('\|',$data); print @sdata[3]."\/".@sdata[4]."\n"; } }
perl ripeconvert.pl
Have fun!