terça-feira, 13 de setembro de 2011

Blocos de IPs alocados para o Brasil

Como saber quais os blocos de IPs alocados para o Brasil?
Segue a dica.

baixar a lista dos blocos de IPs que já foram delegados.
# wget ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-latest

# logaritmo copiado do site http://phodd.net/gnu-bc/bcfaq.html#bashlog
log() {
  local x=$1 n=2 l=-1;
  if [ "$2" != "" ];then
    n=$x;
    x=$2;
  fi;
  while ((x)); do
    let l+=1 x/=n;
  done;
  echo $l;
}

Assumindo que você está no mesmo diretório que baixou a lista da lacnic.
# grep BR delegated-lacnic-latest | grep ipv4 | awk -F'|' '{print $4, $5}' | while read ip mask; do m=$(log $mask); echo "$ip/$((32-$m))"; done

Tem alguns problemas que eu vi, mas não sei se é a lista que está desatualizada...
Exemplo os blocos: 200.20.0.0/16 200.96.0.0/13

Se utilizar o whois, retorna respectivamente os valores 200.20.0.0/21 200.96.0.0/16