Uma maneira fácil de obter dados relativos a um IP/bloco CIDR associado a um fornecedor de serviço de internet (ISP).
Periodicamente, o Registro.br disponibiliza, via ftp, uma listagem (em um arquivo .txt) dos IPs/blocos CIDR ativos no Brasil, bem como a qual fornecedor de serviço de internet o mesmo é associado (juntamente com seu CNPJ).
A partir do desse arquivo, o BrIpInfo analisa e estrutura esses dados de uma forma amigável, permitindo a exportação do mesmo para os formatos json ou csv.
Faça o clone do repositório da aplicação em um local de sua preferência.
git clone https://github.com/rogeriopaulos/BRIpinfo.git
Embora não seja obrigatório, é recomendável a criação prévia de um ambiente virtual do python. Para maiores informações, veja esse passo-a-passo.
No prompt de comando ou terminal do seu sistema operacional, acesse a pasta da aplicação e instale as dependências da mesma executando o comando abaixo.
Ps: Caso tenha criado um ambiente virtual antes, ative-o.
pip install -r requirements.txt
Para finalizar, execute o setup da aplicação.
Importante: Para que o setup da aplicação ocorra normalmente, é necessário uma conexão de internet ativa.
Ps: Caso tenha criado um ambiente virtual antes, ative-o.
python bripinfo setup
Usage: bripinfo [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
export Export data from registro.br to json/csv.
query Query IP or CNPJ from Registro.br.
setup Load data from registro.br.
Usage: bripinfo export [OPTIONS]
Export data from registro.br to json/csv.
Options:
-f, --format TEXT Format: [json, csv]. Default: json.
-d, --destination TEXT Where to save. Default: "<current-dir>".
-n, --name TEXT Filename. Default: "nicbr-asn-blk-latest"
--help Show this message and exit.
Usage: bripinfo query [OPTIONS]
Query IP or CNPJ from Registro.br.
Options:
-t, --type TEXT Type of query: [ip, cnpj]
-s, --search TEXT Term to searched (ip or cnpj). Ex: 192.168.0.22 (ip) |
10942479000139 (cnpj)
--help Show this message and exit.
python bripinfo export
...um arquivo no formato json será gerado no diretório corrente onde a aplicação foi baixada (git clone).
python bripinfo export -f csv -d /home -n "test"
...um arquivo no formato csv, com o nome "test", será gerado no diretório "/home".
python bripinfo query -t ip -s "186.241.20.224"
# output
{
"cnpj": "33.000.118/0001-79",
"ips": [
"200.223.0.0/16",
"200.199.0.0/17",
(...)
],
"name": "Telemar Norte Leste S.A.",
"ref": "AS7738"
}
Este projeto segue as diretrizes do versionamento semântico (SemVer). Para maiores informações, acesse esse link.
Veja o arquivo LICENÇAS para saber os direitos e limitações da licença aplicada neste projeto (MIT).