Ce projet fournit l'IP aux bases de données de localisation aux formats CSV et MMDB.
Il existe 3 types de bases de données IP dans ce référentiel : les fichiers country
, city
et asn
. Tous ont leur propre format standard.
ip_range_start, ip_range_end, country_code
Base de données | Taper | Licence | Mis à jour | IPv4 | IPv6 | Numéro IPv4 | Numéro IPv6 |
---|---|---|---|---|---|---|---|
ASN | Pays | CC0 | Tous les jours | CSV MMDB | CSV MMDB | CSV | CSV |
GéoFeed + ASN | Pays | CC0 | Tous les jours | CSV MMDB | CSV MMDB | CSV | CSV |
GéoFeed + Whois + ASN | Pays | CC0 | Tous les jours | CSV MMDB | CSV MMDB | CSV | CSV |
IP vers ASN | Pays | PDDL par IPtoASN | Tous les jours | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IP Lite | Pays | CC PAR 4.0 par DB-IP | Mensuel | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IP Lite + GeoFeed + Whois + ASN | Pays | CC PAR 4.0 par DB-IP | Mensuel | CSV MMDB | CSV MMDB | CSV | CSV |
GéoLite2 | Pays | Licence GeoLite2 par MaxMind | Deux fois par semaine | CSV MMDB | CSV MMDB | CSV | CSV |
GeoLite2 + GeoFeed + Whois + ASN | Pays | Licence GeoLite2 par MaxMind | Tous les jours | CSV MMDB | CSV MMDB | CSV | CSV |
ip_range_start, ip_range_end, country_code, city, state1, state2, latitude, longitude, postcode, timezone
Base de données | Taper | Licence | Mis à jour | IPv4 | IPv6 | Numéro IPv4 | Numéro IPv6 |
---|---|---|---|---|---|---|---|
DB-IP Lite | Ville | CC PAR 4.0 par DB-IP | Mensuel | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z | CSV.gz CSV.7z |
GéoLite2 | Ville | Licence GeoLite2 par MaxMind | Deux fois par semaine | 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 données | Taper | Licence | Mis à jour | IPv4 | IPv6 | Numéro IPv4 | Numéro IPv6 |
---|---|---|---|---|---|---|---|
RouteViews + ASN + DB-IP | ASN | CC BY 4.0 par RouteViews et DB-IP | Tous les jours | CSV MMDB | CSV MMDB | CSV | CSV |
IP vers ASN | ASN | PDDL par IPtoASN | Tous les jours | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IP Lite | ASN | CC PAR 4.0 par DB-IP | Mensuel | CSV MMDB | CSV MMDB | CSV | CSV |
GéoLite2 | ASN | Licence GeoLite2 par MaxMind | Deux fois par semaine | CSV MMDB | CSV MMDB | CSV | CSV |
Une explication de chaque format de fichier est fournie dans son propre répertoire.
Tous les fichiers d'un type donné partagent le même format de fichier ; par exemple, vous pouvez échanger un fichier asn
contre n'importe quel autre fichier asn
.
Créé en fusionnant 5 bases de données RIP (afrinic, apnic, arin, lacnic, ripe ncc) IP-ASN-Country. L'ASN (Autonomous System Number) est un numéro unique attribué à un système autonome (AS) par l'IANA.
Créé par la fusion de 5 RIP (afrinic, apnic, arin, lacnic, ripe ncc) fournis par la base de données WHOIS.
Créé en fusionnant la base de données GeoFeed d'OpenGeoFeed et les collections de géofeed du fournisseur, etc.
Nous utilisons cette base de données pour obtenir le numéro AS à partir de l'adresse ipv4 pour asn. Ceci est sous licence CC BY 4.0, vous devez donc créer une attribution à RouteViews pour utiliser la base de données asn .
Vous pouvez télécharger la base de données mise à jour toutes les heures au format TSV à partir du site d'origine. Ceci est sous licence sous licence et dédicace du domaine public v1.0. Il existe quelques différences par rapport à la base de données ASN
ci-dessus.
Vous pouvez télécharger et lire la licence depuis ip-to-asn-lite ou ip-to-country-lite ou ip-to-city-lite. La plupart des noms d'organisation AS utilisés dans asn utilisent la base de données ip-to-asn-lite. Nous utilisons également ip-to-asn-lite pour obtenir le numéro AS à partir de l'adresse IP en complément.
Ces bases de données sont sous licence CC BY 4.0, vous devez donc créer une attribution à DB-IP.com pour utiliser la base de données DB-IP .
Dans le cas d'une application Web, vous devez inclure un lien vers DB-IP.com sur les pages qui affichent ou utilisent les résultats de la base de données. Vous pouvez le faire en collant l'extrait de code HTML dans votre code : <a href='https://db-ip.com/'>IP Geolocation by DB-IP</a>
.
Si vous avez besoin d'une meilleure précision ou d'aucune attribution ou de mises à jour quotidiennes, veuillez utiliser la version commerciale de db-ip.
GeoLite2 est créé par MaxMind. La licence de GeoLite2 est écrite en GEOLITE2_LICENSE et le contrat de licence utilisateur final (EULA) est écrit en GEOLITE2_EULA. Veuillez lire attentivement les fichiers GEOLITE2_LICENSE et GEOLITE2_EULA, si vous utilisez ces bases de données. Ce forfait comporte certaines restrictions et obligations, notamment :
Vous ne pouvez pas empêcher la bibliothèque de mettre à jour les bases de données.
Vous ne pouvez pas utiliser les données GeoLite2 :
aux fins de la FCRA,
pour identifier des ménages ou des individus spécifiques.
Vous pouvez lire la dernière version du CLUF GeoLite2. La base de données GeoLite2 est fournie sous CC BY-SA 4.0 par MaxMind, vous devez donc créer une attribution à MaxMind pour utiliser la base de données GeoLite2 . Si vous avez besoin d'une meilleure précision, veuillez utiliser la version commerciale GeoIp2.
Cela dépend de votre cas d'utilisation ! Nous avons cependant quelques recommandations simples :
Si vous avez besoin de codes postaux ou de fuseaux horaires : geolite2-city
Si vous avez besoin de données sur la ville avec une licence CC-BY : dbip-city
Si vous avez besoin d'une base de données nationale avec une licence du domaine public : geo-whois-asn-country
Si vous avez besoin d'une base de données nationale de haute précision et d'une large plage IP : geolite2-geo-whois-asn-country
qui est équivalent à geolite2-country
pour la plage IP couverte par geolite2-country
et geo-whois-asn-country
pour l'autre plage IP. (0,10 % plus large pour IPv4 et 2,34 % plus large pour IPv6 que geolite2-country
en août 2024)
Si vous avez besoin d'une base de données ASN : asn
Puisqu'il n'existe pas d'informations définitives sur les adresses IP et le country_code, il est difficile de discuter qualitativement de l'exactitude des données du domaine public, mais il est possible d'estimer l'exactitude approximative en la comparant avec les informations sur le pays dans GeoLite2 et DbIp Lite. En comparant la base de données de GeoLite2, qui est bien connue pour sa grande précision, avec les différences dans d'autres bases de données, nous pouvons constater cette précision du domaine public.
Base de données | Même | Différence | Vide | Supplémentaire |
---|---|---|---|---|
dbip-pays | 96,15% | 3,85% | 0,00% | 0,42% |
asn-pays | 95,97% | 4,00% | 0,03% | 0,03% |
géo-asn-pays | 97,26% | 2,71% | 0,03% | 0,06% |
géo-whois-asn-pays | 96,98% | 2,99% | 0,03% | 0,12% |
iptoasn-pays | 76,80% | 4,99% | 18,21% | 1,26% |
Les mesures ont été prises le 9 octobre 2024. La plage ipv6 étant trop large, les mesures ici sont limitées aux résultats ipv4. "Identique" + "Diff" + "Vide" affiche la plage IP GeoLite2 et la taille de la plage IP GeoLite2 est répertoriée comme 100 %.
"Identique" indique le pourcentage de country_codes dans la base de données qui sont identiques au country_code dans GeoLite2.
"Diff" indique le pourcentage de country_codes dans la base de données qui sont différents du country_code GeoLite2.
"Vide" affiche le pourcentage d'adresses IP avec le code_pays GeoLite2 mais aucun code_pays correspondant dans la base de données.
"Extra" indique le pourcentage d'adresses IP sans code_pays GeoLite2 répertorié et dont le code_pays est répertorié dans la base de données.
Nous pouvons voir que pour toutes les données sauf iptoasn-country, le country_code correspond aux résultats GeoLite2 dans plus de 96% des cas. Bien qu'il existe une certaine variation dans les résultats en raison des différences dans le calendrier de mise à jour et la priorité des informations, nous pensons que les données du domaine public montrent un certain niveau d'exactitude.
Si vous souhaitez intégrer des fichiers MMDB dans un projet existant, plusieurs bibliothèques peuvent vous aider.
Des bibliothèques existent dans de nombreuses langues lors de l'utilisation des fichiers MMDB. Il existe des bibliothèques officielles développées par Maxmind pour de nombreux langages populaires : .NET, C, Java, Node.js, Perl, PHP, Python et Ruby, ainsi que des lecteurs tiers pour d'autres : Erlang, Go, Rust.
Si vous souhaitez créer vos propres fichiers MMDB à partir des fichiers CSV (pour personnaliser leur format), il existe quelques bibliothèques officielles : Go et Perl (maintenant archivé) . Il existe également des options tierces : Python et Rust.
Bibliothèque | Langue | Description | Espèces | Auto Mises à jour |
---|---|---|---|---|
ip-location-api | Noeud.js | Recherche rapide d'adresse IP vers un pays à l'aide d'une base de données en mémoire (7 Mo de RAM) | country city | ✓ |
pays pays-extra | Navigateur js | Recherche d'adresse IP vers le pays dans le navigateur | country | ✓ |
géocoder géocodage-extra | Navigateur js | Ip pour géocoder la recherche dans le navigateur | country latitude longitude | ✓ |
Application | Langue | Description | Espèces | Auto Mises à jour |
---|---|---|---|---|
serveur_emplacement_ip | Java | Un serveur GRPC et HTTP en mémoire mappant les adresses IP aux emplacements (nécessite au moins 1,5 Go de RAM) | country asn city | ✓ |
ip-location-api | Aller | Serveur API créant/supportant MMDB, PostgreSQL, MySQL/MariaDB et SQLite | country asn city | ✓ |
IP-géo-API | Aller | Serveur API en mémoire | country | ✘ |
IPInfoHors ligne | Fenêtres | Outil de bureau affichant des informations sur les adresses IP (données locales) | country asn city | ✘ |
Outil | Description |
---|---|
emplacement-ip-vers-mmdb | Conversion de base des fichiers CSV de cette base de données en fichiers MMDB |
mmdbmeld | Créez et personnalisez des fichiers MMDB à partir de fichiers CSV dans cette base de données |
La licence requise dépend de la base de données que vous utilisez. Veuillez lire attentivement chaque licence de base de données avant utilisation.
Vous pouvez utiliser des bases de données sous licence PDDL (ODC Public Domain Dedication and Licence) ou CC0 (Creative Commons Zero) sans attribution, à quelque fin que ce soit.
Nous vous serions reconnaissants de bien vouloir créer un lien vers sapics/ip-location-db et de lancer ce projet pour aider les autres à le trouver.