Este proyecto proporciona IP a bases de datos de ubicación en formatos CSV y MMDB.
Hay 3 tipos de bases de datos de IP en este repositorio: archivos country
, city
y asn
. Todos tienen su propio formato estándar.
ip_range_start, ip_range_end, country_code
Base de datos | Tipo | Licencia | Actualizado | IPv4 | IPv6 | número IPv4 | número IPv6 |
---|---|---|---|---|---|---|---|
ASN | País | CC0 | A diario | CSV MMDB | CSV MMDB | CSV | CSV |
GeoFeed + ASN | País | CC0 | A diario | CSV MMDB | CSV MMDB | CSV | CSV |
GeoFeed + Whois + ASN | País | CC0 | A diario | CSV MMDB | CSV MMDB | CSV | CSV |
IP a ASN | País | PDDL por IPtoASN | A diario | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IP Lite | País | CC POR 4.0 por DB-IP | Mensual | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IP Lite + GeoFeed + Whois + ASN | País | CC POR 4.0 por DB-IP | Mensual | CSV MMDB | CSV MMDB | CSV | CSV |
GeoLite2 | País | Licencia GeoLite2 de MaxMind | dos veces por semana | CSV MMDB | CSV MMDB | CSV | CSV |
GeoLite2 + GeoFeed + Whois + ASN | País | Licencia GeoLite2 de MaxMind | A diario | CSV MMDB | CSV MMDB | CSV | CSV |
ip_range_start, ip_range_end, country_code, city, state1, state2, latitude, longitude, postcode, timezone
Base de datos | Tipo | Licencia | Actualizado | IPv4 | IPv6 | número IPv4 | número IPv6 |
---|---|---|---|---|---|---|---|
DB-IP Lite | Ciudad | CC POR 4.0 por DB-IP | Mensual | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z | CSV.gz CSV.7z |
GeoLite2 | Ciudad | Licencia GeoLite2 de MaxMind | dos veces 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
Base de datos | Tipo | Licencia | Actualizado | IPv4 | IPv6 | número IPv4 | número IPv6 |
---|---|---|---|---|---|---|---|
Vistas de ruta + ASN + DB-IP | ASN | CC BY 4.0 por RouteViews y DB-IP | A diario | CSV MMDB | CSV MMDB | CSV | CSV |
IP a ASN | ASN | PDDL por IPtoASN | A diario | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IP Lite | ASN | CC POR 4.0 por DB-IP | Mensual | CSV MMDB | CSV MMDB | CSV | CSV |
GeoLite2 | ASN | Licencia GeoLite2 de MaxMind | dos veces por semana | CSV MMDB | CSV MMDB | CSV | CSV |
Se proporciona una explicación de cada formato de archivo en su propio directorio.
Todos los archivos de un tipo determinado comparten el mismo formato de archivo; por ejemplo, puede intercambiar un archivo asn
por cualquier otro archivo asn
.
Creado mediante la fusión de 5 bases de datos IP-ASN-Country RIP (afrinic, apnic, arin, lacnic, maduro ncc). ASN (Número de Sistema Autónomo) es un número único asignado a un Sistema Autónomo (AS) por la IANA.
Creado fusionando 5 RIP (afrinic, apnic, arin, lacnic, maduro ncc) proporcionó la base de datos WHOIS.
Creado fusionando la base de datos GeoFeed de OpenGeoFeed y las colecciones del proveedor Geofeed, etc.
Estamos utilizando esta base de datos para obtener el número AS de la dirección ipv4 para asn. Tiene licencia CC BY 4.0, por lo que debe crear una atribución a RouteViews para usar la base de datos asn .
Puede descargar la base de datos actualizada cada hora en formato tsv desde el sitio original. Esto tiene la licencia de Dedicación y Licencia de Dominio Público v1.0. Existen algunas diferencias con respecto a la base de datos ASN
anterior.
Puede descargar y leer la licencia desde ip-to-asn-lite o ip-to-country-lite o ip-to-city-lite. La mayor parte del nombre de la organización AS utilizado en asn utiliza la base de datos ip-to-asn-lite. También utilizamos ip-to-asn-lite para obtener el número AS de la dirección IP como complemento.
Estas bases de datos tienen licencia CC BY 4.0, por lo que debe crear una atribución a DB-IP.com para utilizar la base de datos DB-IP .
En el caso de una aplicación web, debe incluir un enlace a DB-IP.com en las páginas que muestran o utilizan resultados de la base de datos. Puede hacerlo pegando el fragmento de código HTML en su código: IP Geolocation by DB-IP
.
Si necesita mayor precisión o ninguna atribución o actualizaciones diarias, utilice la versión comercial de db-ip.
GeoLite2 es creado por MaxMind. La licencia de GeoLite2 está escrita en GEOLITE2_LICENSE y el Acuerdo de licencia de usuario final (EULA) está escrito en GEOLITE2_EULA. Lea atentamente los archivos GEOLITE2_LICENSE y GEOLITE2_EULA, si utiliza estas bases de datos. Este paquete viene con ciertas restricciones y obligaciones, entre las que destacan:
No puede evitar que la biblioteca actualice las bases de datos.
No puedes utilizar los datos de GeoLite2:
para fines de la FCRA,
para identificar hogares o individuos específicos.
Puede leer la última versión del CLUF de GeoLite2. La base de datos GeoLite2 la proporciona MaxMind bajo CC BY-SA 4.0, por lo que debe crear una atribución a MaxMind para usar la base de datos GeoLite2 . Si necesita una mayor precisión, utilice la versión comercial GeoIp2.
¡Depende de su caso de uso! Sin embargo, tenemos algunas recomendaciones simples:
Si necesita códigos postales o zonas horarias: geolite2-city
Si necesitas datos de ciudades con Licencia CC-BY: dbip-city
Si necesita una base de datos de país con Licencia de Dominio Público: geo-whois-asn-country
Si necesita una base de datos de países con un amplio rango de IP y alta precisión: geolite2-geo-whois-asn-country
, que es equivalente a geolite2-country
para el rango de IP cubierto de geolite2-country
y geo-whois-asn-country
para el otro rango de IP. (0,10% más ancho para IPv4 y 2,34% más ancho para IPv6 que geolite2-country
en agosto de 2024)
Si necesita una base de datos ASN: asn
Dado que no hay información definitiva sobre las direcciones IP y el código de país, es difícil discutir cualitativamente la precisión de los datos de dominio público, pero es posible estimar la precisión aproximada comparándola con la información del país en GeoLite2 y DbIp Lite. Al comparar la base de datos de GeoLite2, que es bien conocida por su alta precisión, con las diferencias en otras bases de datos, podemos ver la precisión del dominio público.
Base de datos | Mismo | diferencia | Vacío | 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-país | 96,98% | 2,99% | 0,03% | 0,12% |
país-iptoasn | 76,80% | 4,99% | 18,21% | 1,26% |
Las mediciones se tomaron el 9 de octubre de 2024. Debido a que el rango de ipv6 es demasiado amplio, las mediciones aquí se limitan a los resultados de ipv4. "Same" + "Diff" + "Empty" muestra el rango de IP de GeoLite2 y el tamaño del rango de IP de GeoLite2 aparece como 100%.
"Igual" indica el porcentaje de códigos de país en la base de datos que son iguales al código de país en GeoLite2.
"Diff" indica el porcentaje de códigos de país en la base de datos que son diferentes del código de país de GeoLite2.
"Vacío" muestra el porcentaje de IP con código de país GeoLite2 pero sin código de país correspondiente en la base de datos.
"Extra" indica el porcentaje de IP sin código de país GeoLite2 en la lista que tenían un código de país en la base de datos.
Podemos ver que para todos los datos excepto iptoasn-country, el código de país coincide con los resultados de GeoLite2 en más del 96% de los casos. Aunque existe cierta variación en los resultados debido a diferencias en el tiempo de actualización y la prioridad de la información, creemos que los datos de dominio público muestran un cierto nivel de precisión.
Si desea integrar archivos MMDB en un proyecto existente, existen varias bibliotecas que pueden ayudar.
Existen bibliotecas en muchos idiomas cuando se utilizan archivos MMDB. Existen bibliotecas oficiales desarrolladas por Maxmind para muchos lenguajes populares: .NET, C, Java, Node.js, Perl, PHP, Python y Ruby, y lectores de terceros para otros: Erlang, Go, Rust.
Si desea crear sus propios archivos MMDB a partir de archivos CSV (para personalizar su formato), existen un par de bibliotecas oficiales: Go y Perl (ahora archivada) . También existen algunas opciones de terceros: Python y Rust.
Biblioteca | Idioma | Descripción | Tipos | Auto Actualizaciones |
---|---|---|---|---|
ip-ubicación-api | Nodo.js | Búsqueda rápida de IP a país mediante el uso de una base de datos en memoria (7 MB de RAM) | country city | ✓ |
país país-extra | navegador js | Búsqueda de IP a país en el navegador | country | ✓ |
geocodificar geocódigo-extra | navegador js | Búsqueda de IP para geocodificar en el navegador | country latitude longitude | ✓ |
Solicitud | Idioma | Descripción | Tipos | Auto Actualizaciones |
---|---|---|---|---|
servidor_ubicación_ip | Java | Un servidor GRPC y HTTP en memoria que asigna direcciones IP a ubicaciones (requiere al menos 1,5 GB de RAM) | country asn city | ✓ |
ip-ubicación-api | Ir | Servidor API que crea/soporta MMDB, PostgreSQL, MySQL/MariaDB y SQLite | country asn city | ✓ |
IP-geo-API | Ir | Servidor API en memoria | country | ✘ |
IPInfo sin conexión | ventanas | Herramienta de escritorio que muestra información sobre direcciones IP (datos locales) | country asn city | ✘ |
Herramienta | Descripción |
---|---|
ubicación-ip-a-mmdb | Conversión básica de archivos CSV de esta base de datos a archivos MMDB |
mmdbmeld | Cree y personalice archivos MMDB a partir de archivos CSV en esta base de datos |
La licencia requerida depende de la base de datos que utilice. Lea atentamente cada licencia de base de datos antes de usarla.
Puede utilizar bases de datos con licencia PDDL (Dedicación y licencia de dominio público ODC) o CC0 (Creative Commons Zero) sin atribución para ningún propósito.
Le agradeceríamos que pudiera vincular nuevamente a sapics/ip-location-db y destacar este proyecto para ayudar a otros a encontrarlo.