Este projeto fornece IP para bancos de dados de localização nos formatos CSV e MMDB.
Existem 3 tipos de banco de dados IP neste repositório: arquivos country
, city
e asn
. Todos têm seu próprio formato padrão.
ip_range_start, ip_range_end, country_code
Banco de dados | Tipo | Licença | Atualizado | IPv4 | IPv6 | Número IPv4 | Número IPv6 |
---|---|---|---|---|---|---|---|
ASN | País | CC0 | Diário | CSV MMDB | CSV MMDB | CSV | CSV |
GeoFeed + ASN | País | CC0 | Diário | CSV MMDB | CSV MMDB | CSV | CSV |
GeoFeed + Whois + ASN | País | CC0 | Diário | CSV MMDB | CSV MMDB | CSV | CSV |
IP para ASN | País | PDDL por IPtoASN | Diário | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IP Lite | País | CC POR 4,0 por DB-IP | Mensal | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IP Lite + GeoFeed + Whois + ASN | País | CC POR 4,0 por DB-IP | Mensal | CSV MMDB | CSV MMDB | CSV | CSV |
GeoLite2 | País | Licença GeoLite2 por MaxMind | Duas vezes por semana | CSV MMDB | CSV MMDB | CSV | CSV |
GeoLite2 + GeoFeed + Whois + ASN | País | Licença GeoLite2 por MaxMind | Diário | CSV MMDB | CSV MMDB | CSV | CSV |
ip_range_start, ip_range_end, country_code, city, state1, state2, latitude, longitude, postcode, timezone
Banco de dados | Tipo | Licença | Atualizado | IPv4 | IPv6 | Número IPv4 | Número IPv6 |
---|---|---|---|---|---|---|---|
DB-IP Lite | Cidade | CC POR 4,0 por DB-IP | Mensal | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z | CSV.gz CSV.7z |
GeoLite2 | Cidade | Licença GeoLite2 por MaxMind | Duas vezes por semana | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z | CSV.gz CSV.7z |
ip_range_start, ip_range_end, autonomous_system_number, autonomous_system_organization
Banco de dados | Tipo | Licença | Atualizado | IPv4 | IPv6 | Número IPv4 | Número IPv6 |
---|---|---|---|---|---|---|---|
RouteViews + ASN + DB-IP | ASN | CC BY 4.0 por RouteViews e DB-IP | Diário | CSV MMDB | CSV MMDB | CSV | CSV |
IP para ASN | ASN | PDDL por IPtoASN | Diário | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IP Lite | ASN | CC POR 4,0 por DB-IP | Mensal | CSV MMDB | CSV MMDB | CSV | CSV |
GeoLite2 | ASN | Licença GeoLite2 por MaxMind | Duas vezes por semana | CSV MMDB | CSV MMDB | CSV | CSV |
Uma explicação de cada formato de arquivo é fornecida em seu próprio diretório.
Todos os arquivos de um determinado tipo compartilham o mesmo formato de arquivo; por exemplo, você pode trocar um arquivo asn
por qualquer outro arquivo asn
.
Criado pela fusão de 5 bancos de dados IP-ASN-Country RIP (afrinic, apnic, arin, lacnic, maduro ncc). ASN (Número de Sistema Autônomo) é um número exclusivo atribuído a um Sistema Autônomo (AS) pela IANA.
Criado pela fusão de 5 RIP (afrinic, apnic, arin, lacnic, maduro ncc) fornecido banco de dados WHOIS.
Criado pela fusão do banco de dados GeoFeed do OpenGeoFeed e coleções de geofeed do provedor e assim por diante.
Estamos usando este banco de dados para obter o número AS do endereço ipv4 para asn. Ele é licenciado sob CC BY 4.0, portanto, você deve criar uma atribuição ao RouteViews para usar o banco de dados asn .
Você pode baixar o banco de dados atualizado de hora em hora em formato tsv do site original. Isto é licenciado sob uma Dedicação e Licença de Domínio Público v1.0. Existem algumas diferenças em relação ao banco de dados ASN
acima.
Você pode baixar e ler a licença de ip-to-asn-lite ou ip-to-country-lite ou ip-to-city-lite. A maior parte do nome da organização AS usado em asn usa banco de dados ip-to-asn-lite. Também usamos ip-to-asn-lite para obter o número AS do endereço IP como suplementar.
Esses bancos de dados são licenciados sob CC BY 4.0, portanto, você deve criar uma atribuição ao DB-IP.com para usar o banco de dados DB-IP .
No caso de uma aplicação web, você deve incluir um link para DB-IP.com nas páginas que exibem ou usam resultados do banco de dados. Você pode fazer isso colando o trecho de código HTML em seu código: IP Geolocation by DB-IP
.
Se você precisar de melhor precisão ou nenhuma atribuição ou atualizações diárias, use a versão comercial do db-ip.
GeoLite2 é criado por MaxMind. A licença do GeoLite2 está escrita em GEOLITE2_LICENSE e o Contrato de Licença de Usuário Final (EULA) está escrito em GEOLITE2_EULA. Por favor, leia atentamente os arquivos GEOLITE2_LICENSE e GEOLITE2_EULA, se você usar esses bancos de dados. Este pacote vem com certas restrições e obrigações, principalmente:
Você não pode impedir que a biblioteca atualize os bancos de dados.
Você não pode usar os dados do GeoLite2:
para fins de FCRA,
para identificar famílias ou indivíduos específicos.
Você pode ler a versão mais recente do EULA do GeoLite2. O banco de dados GeoLite2 é fornecido sob CC BY-SA 4.0 da MaxMind, portanto, você deve criar uma atribuição à MaxMind para usar o banco de dados GeoLite2 . Caso necessite de melhor precisão, utilize a versão comercial GeoIp2.
Depende do seu caso de uso! No entanto, temos algumas recomendações simples:
Se você precisar de códigos postais ou fusos horários: geolite2-city
Se você precisar de dados de cidade com licença CC-BY: dbip-city
Se você precisar de um banco de dados de país com licença de domínio público: geo-whois-asn-country
Se você precisar de um banco de dados de país de alta precisão e amplo intervalo de IP: geolite2-geo-whois-asn-country
que é equivalente a geolite2-country
para o intervalo de IP coberto por geolite2-country
e geo-whois-asn-country
para o outro intervalo de IP. (0,10% mais amplo para IPv4 e 2,34% mais amplo para IPv6 do que geolite2-country
em agosto de 2024)
Se você precisar de um banco de dados ASN: asn
Como não há informações definitivas sobre endereços IP e código do país, é difícil discutir qualitativamente a precisão dos dados de Domínio Público, mas é possível estimar a precisão aproximada comparando-a com as informações do país no GeoLite2 e DbIp Lite. Ao comparar o banco de dados do GeoLite2, que é conhecido por sua alta precisão, com as diferenças de outros bancos de dados, podemos perceber a precisão do Domínio Público.
Banco de dados | Mesmo | Diferença | Vazio | Extra |
---|---|---|---|---|
país dbip | 96,15% | 3,85% | 0,00% | 0,42% |
asn-país | 95,97% | 4,00% | 0,03% | 0,03% |
geo-asn-país | 97,26% | 2,71% | 0,03% | 0,06% |
geo-whois-asn-country | 96,98% | 2,99% | 0,03% | 0,12% |
país iptoasn | 76,80% | 4,99% | 18,21% | 1,26% |
As medições foram feitas em 9 de outubro de 2024. Como o intervalo do IPv6 é muito amplo, as medições aqui são limitadas aos resultados do IPv4. "Same" + "Diff" + "Empty" mostra o intervalo de IP do GeoLite2, e o tamanho do intervalo de IP do GeoLite2 é listado como 100%.
"Same" indica a porcentagem de country_codes no banco de dados que são iguais ao country_code no GeoLite2.
"Diff" indica a porcentagem de country_codes no banco de dados que são diferentes do country_code do GeoLite2.
"Vazio" mostra a porcentagem de IPs com country_code GeoLite2, mas sem country_code correspondente no banco de dados.
"Extra" indica a porcentagem de IPs sem country_code GeoLite2 listado que tinham um country_code listado no banco de dados.
Podemos ver que para todos os dados, exceto iptoasn-country, o country_code corresponde aos resultados do GeoLite2 em mais de 96% dos casos. Embora haja alguma variação nos resultados devido a diferenças no tempo de atualização e na prioridade das informações, acreditamos que os dados de Domínio Público apresentam um certo nível de precisão.
Se você deseja integrar arquivos MMDB em um projeto existente, existem diversas bibliotecas que podem ajudar.
Existem bibliotecas em vários idiomas ao usar os arquivos MMDB. Existem bibliotecas oficiais desenvolvidas pela Maxmind para muitas linguagens populares: .NET, C, Java, Node.js, Perl, PHP, Python e Ruby, e leitores de terceiros para outras: Erlang, Go, Rust.
Se você deseja criar seus próprios arquivos MMDB a partir dos arquivos CSV (para personalizar seu formato), existem algumas bibliotecas oficiais: Go e Perl (agora arquivadas) . Existem também algumas opções de terceiros: Python e Rust.
Biblioteca | Linguagem | Descrição | Tipos | Auto Atualizações |
---|---|---|---|---|
ip-localização-api | Node.js | Pesquisa rápida de IP para país usando banco de dados na memória (7 MB de RAM) | country city | ✓ |
país país-extra | Navegador js | Pesquisa de IP para país no navegador | country | ✓ |
geocódigo geocódigo-extra | Navegador js | Pesquisa de IP para geocódigo no navegador | country latitude longitude | ✓ |
Aplicativo | Linguagem | Descrição | Tipos | Auto Atualizações |
---|---|---|---|---|
ip_location_server | Java | Um servidor GRPC e HTTP na memória mapeando endereços IP para locais (requer pelo menos 1,5 GB de RAM) | country asn city | ✓ |
ip-localização-api | Ir | Servidor API criando/suportando MMDB, PostgreSQL, MySQL/MariaDB e SQLite | country asn city | ✓ |
Ip-geo-API | Ir | Servidor API na memória | country | ✘ |
IPInfoOff-line | Windows | Ferramenta de desktop mostrando informações sobre endereços IP (dados locais) | country asn city | ✘ |
Ferramenta | Descrição |
---|---|
localização-ip-para-mmdb | Conversão básica de arquivos CSV deste banco de dados em arquivos MMDB |
mmdbmeld | Crie e personalize arquivos MMDB a partir de arquivos CSV neste banco de dados |
A licença necessária depende do banco de dados que você usa. Leia atentamente cada licença de banco de dados antes de usá-la.
Você pode usar bancos de dados licenciados PDDL (ODC Public Domain Dedication and License) ou CC0 (Creative Commons Zero) sem atribuição para qualquer finalidade.
Ficaríamos gratos se você pudesse vincular novamente a sapics/ip-location-db e marcar este projeto com estrela para ajudar outras pessoas a encontrá-lo.