rogeriopaulos / BRIpinfo

Uma maneira fácil de obter dados relativos a um IP associado ao Registro.br.
MIT License
0 stars 0 forks source link

BrIpInfo

GitHub tag (latest by date) Python GitHub

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.

Features

Pré-Requisitos

Instalação & Configuração

Clonar repositório

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

Crie um ambiente virtual [OPCIONAL]

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.

Instalando as dependências

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

Setup da aplicação

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

Comandos & Uso

Geral

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.

Exportação

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.

Consulta

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.

Exemplos

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"
}

Versionamento

Este projeto segue as diretrizes do versionamento semântico (SemVer). Para maiores informações, acesse esse link.

Licença

Veja o arquivo LICENÇAS para saber os direitos e limitações da licença aplicada neste projeto (MIT).