Dieses Projekt stellt IP für Standortdatenbanken in den Formaten CSV und MMDB bereit.
In diesem Repository gibt es drei Arten von IP-Datenbanken: country
, city
und asn
Dateien. Alle haben ihr eigenes Standardformat.
ip_range_start, ip_range_end, country_code
Datenbank | Typ | Lizenz | Aktualisiert | IPv4 | IPv6 | IPv4-Anzahl | IPv6-num |
---|---|---|---|---|---|---|---|
ASN | Land | CC0 | Täglich | CSV MMDB | CSV MMDB | CSV | CSV |
GeoFeed + ASN | Land | CC0 | Täglich | CSV MMDB | CSV MMDB | CSV | CSV |
GeoFeed + Whois + ASN | Land | CC0 | Täglich | CSV MMDB | CSV MMDB | CSV | CSV |
IPtoASN | Land | PDDL von IPtoASN | Täglich | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IP Lite | Land | CC BY 4.0 von DB-IP | Monatlich | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IP Lite + GeoFeed + Whois + ASN | Land | CC BY 4.0 von DB-IP | Monatlich | CSV MMDB | CSV MMDB | CSV | CSV |
GeoLite2 | Land | GeoLite2-Lizenz von MaxMind | Zweimal wöchentlich | CSV MMDB | CSV MMDB | CSV | CSV |
GeoLite2 + GeoFeed + Whois + ASN | Land | GeoLite2-Lizenz von MaxMind | Täglich | CSV MMDB | CSV MMDB | CSV | CSV |
ip_range_start, ip_range_end, country_code, city, state1, state2, latitude, longitude, postcode, timezone
Datenbank | Typ | Lizenz | Aktualisiert | IPv4 | IPv6 | IPv4-Anzahl | IPv6-num |
---|---|---|---|---|---|---|---|
DB-IP Lite | Stadt | CC BY 4.0 von DB-IP | Monatlich | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z MMDB | CSV.gz CSV.7z | CSV.gz CSV.7z |
GeoLite2 | Stadt | GeoLite2-Lizenz von MaxMind | Zweimal wöchentlich | 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
Datenbank | Typ | Lizenz | Aktualisiert | IPv4 | IPv6 | IPv4-Anzahl | IPv6-num |
---|---|---|---|---|---|---|---|
RouteViews + ASN + DB-IP | ASN | CC BY 4.0 von RouteViews und DB-IP | Täglich | CSV MMDB | CSV MMDB | CSV | CSV |
IPtoASN | ASN | PDDL von IPtoASN | Täglich | CSV MMDB | CSV MMDB | CSV | CSV |
DB-IP Lite | ASN | CC BY 4.0 von DB-IP | Monatlich | CSV MMDB | CSV MMDB | CSV | CSV |
GeoLite2 | ASN | GeoLite2-Lizenz von MaxMind | Zweimal wöchentlich | CSV MMDB | CSV MMDB | CSV | CSV |
Eine Erläuterung jedes Dateiformats finden Sie in einem eigenen Verzeichnis.
Alle Dateien eines bestimmten Typs haben dasselbe Dateiformat. Sie könnten beispielsweise eine asn
Datei gegen eine andere asn
Datei austauschen.
Erstellt durch Zusammenführung von 5 RIP-IP-ASN-Länderdatenbanken (Afrinic, Apnic, Arin, Lacnic, Ripe NCC). ASN (Autonomous System Number) ist eine eindeutige Nummer, die einem autonomen System (AS) von der IANA zugewiesen wird.
Erstellt durch Zusammenführung von 5 von RIP (Afrinic, Apnic, Arin, Lacnic, Ripe NCC) bereitgestellten WHOIS-Datenbanken.
Erstellt durch Zusammenführung der GeoFeed-Datenbank von OpenGeoFeed und Sammlungen von Anbieter-Geofeeds usw.
Wir verwenden diese Datenbank, um die AS-Nummer von der IPv4-Adresse für ASN abzurufen. Dies ist unter CC BY 4.0 lizenziert, daher müssen Sie für die Verwendung der ASN-Datenbank eine Zuordnung zu RouteViews erstellen .
Sie können die stündlich aktualisierte Datenbank im TSV-Format von der Originalseite herunterladen. Dies ist unter einer Public Domain Dedication and License v1.0 lizenziert. Es gibt einige Unterschiede zur oben genannten ASN
Datenbank.
Sie können die Lizenz von ip-to-asn-lite oder ip-to-country-lite oder ip-to-city-lite herunterladen und lesen. Die meisten in ASN verwendeten AS-Organisationsnamen verwenden die IP-to-ASN-Lite-Datenbank. Als Ergänzung verwenden wir auch ip-to-asn-lite, um die AS-Nummer von der IP-Adresse abzurufen.
Diese Datenbanken sind unter CC BY 4.0 lizenziert, daher müssen Sie für die Nutzung der DB-IP-Datenbank eine Zuordnung zu DB-IP.com erstellen .
Im Falle einer Webanwendung müssen Sie auf Seiten, auf denen Ergebnisse aus der Datenbank angezeigt oder verwendet werden, einen Link zurück zu DB-IP.com einfügen. Sie können dies tun, indem Sie den HTML-Codeausschnitt in Ihren Code einfügen: IP Geolocation by DB-IP
.
Wenn Sie eine höhere Genauigkeit oder keine Namensnennung oder tägliche Aktualisierungen benötigen, verwenden Sie bitte die kommerzielle Version von db-ip.
GeoLite2 wird von MaxMind erstellt. Die Lizenz von GeoLite2 ist in GEOLITE2_LICENSE geschrieben und die Endbenutzer-Lizenzvereinbarung (EULA) ist in GEOLITE2_EULA geschrieben. Bitte lesen Sie die Dateien GEOLITE2_LICENSE und GEOLITE2_EULA sorgfältig durch, wenn Sie diese Datenbank verwenden. Dieses Paket ist mit bestimmten Einschränkungen und Verpflichtungen verbunden, insbesondere:
Sie können nicht verhindern, dass die Bibliothek die Datenbanken aktualisiert.
Sie können die GeoLite2-Daten nicht verwenden:
für FCRA-Zwecke,
um bestimmte Haushalte oder Einzelpersonen zu identifizieren.
Sie können die neueste Version der GeoLite2 EULA lesen. Die GeoLite2-Datenbank wird unter CC BY-SA 4.0 von MaxMind bereitgestellt, daher müssen Sie für die Verwendung der GeoLite2-Datenbank eine Zuordnung zu MaxMind erstellen . Wenn Sie eine höhere Genauigkeit benötigen, verwenden Sie bitte die kommerzielle Version GeoIp2.
Es hängt von Ihrem Anwendungsfall ab! Wir haben jedoch einige einfache Empfehlungen:
Wenn Sie Postleitzahlen oder Zeitzonen benötigen: geolite2-city
Wenn Sie Stadtdaten mit einer CC-BY-Lizenz benötigen: dbip-city
Wenn Sie eine Länderdatenbank mit einer Public Domain-Lizenz benötigen: geo-whois-asn-country
Wenn Sie eine Länderdatenbank mit hoher Genauigkeit und großem IP-Bereich benötigen: geolite2-geo-whois-asn-country
was geolite2-country
für geolite2-country
abgedeckten IP-Bereich und geo-whois-asn-country
für den anderen IP-Bereich entspricht. (0,10 % breiter für IPv4 und 2,34 % breiter für IPv6 als geolite2-country
im August 2024)
Wenn Sie eine ASN-Datenbank benötigen: asn
Da es keine definitiven Informationen zu IP-Adressen und Ländercode gibt, ist es schwierig, die Genauigkeit von Public-Domain-Daten qualitativ zu diskutieren, aber es ist möglich, die ungefähre Genauigkeit abzuschätzen, indem man sie mit den Länderinformationen in GeoLite2 und DbIp Lite vergleicht. Durch den Vergleich der Datenbank in GeoLite2, die für ihre hohe Genauigkeit bekannt ist, mit den Unterschieden in anderen Datenbanken können wir die Public Domain-Genauigkeit erkennen.
Datenbank | Dasselbe | Diff | Leer | Extra |
---|---|---|---|---|
dbip-land | 96,15 % | 3,85 % | 0,00 % | 0,42 % |
asn-land | 95,97 % | 4,00 % | 0,03 % | 0,03 % |
Geo-ASN-Land | 97,26 % | 2,71 % | 0,03 % | 0,06 % |
geo-whois-asn-land | 96,98 % | 2,99 % | 0,03 % | 0,12 % |
iptoasn-land | 76,80 % | 4,99 % | 18,21 % | 1,26 % |
Die Messungen wurden am 9. Okt. 2024 durchgeführt. Da der IPv6-Bereich zu groß ist, beschränken sich die Messungen hier auf IPv4-Ergebnisse. „Same“ + „Diff“ + „Empty“ zeigt den GeoLite2-IP-Bereich an und die Größe des GeoLite2-IP-Bereichs wird als 100 % aufgeführt.
„Same“ gibt den Prozentsatz der Ländercodes in der Datenbank an, die mit dem Ländercode in GeoLite2 übereinstimmen.
„Diff“ gibt den Prozentsatz der Ländercodes in der Datenbank an, die sich vom GeoLite2-Ländercode unterscheiden.
„Leer“ zeigt den Prozentsatz der IPs mit GeoLite2-Ländercode, aber keinem entsprechenden Ländercode in der Datenbank.
„Extra“ gibt den Prozentsatz der IPs an, für die kein GeoLite2-Ländercode aufgeführt ist und für die in der Datenbank ein Ländercode aufgeführt ist.
Wir können sehen, dass für alle Daten außer iptoasn-country der Ländercode in mehr als 96 % der Fälle mit den GeoLite2-Ergebnissen übereinstimmt. Obwohl es aufgrund von Unterschieden im Aktualisierungszeitpunkt und der Priorität der Informationen zu gewissen Abweichungen bei den Ergebnissen kommt, gehen wir davon aus, dass die Public Domain-Daten ein gewisses Maß an Genauigkeit aufweisen.
Wenn Sie MMDB-Dateien in ein bestehendes Projekt integrieren möchten, stehen Ihnen mehrere Bibliotheken zur Verfügung.
Bei Verwendung der MMDB-Dateien sind Bibliotheken in vielen Sprachen vorhanden. Es gibt offizielle, von Maxmind entwickelte Bibliotheken für viele beliebte Sprachen: .NET, C, Java, Node.js, Perl, PHP, Python und Ruby sowie Drittanbieter-Reader für andere: Erlang, Go, Rust.
Wenn Sie Ihre eigenen MMDB-Dateien aus den CSV-Dateien erstellen möchten (um deren Format anzupassen), gibt es einige offizielle Bibliotheken: Go und Perl (jetzt archiviert) . Es gibt auch einige Optionen von Drittanbietern: Python und Rust.
Bibliothek | Sprache | Beschreibung | Typen | Auto Aktualisierungen |
---|---|---|---|---|
IP-Standort-API | Node.js | Schnelle IP-zu-Land-Suche mithilfe der In-Memory-Datenbank (7 MB RAM) | country city | ✓ |
Land Länderextra | Browser js | IP-zu-Land-Suche im Browser | country | ✓ |
geokodieren Geocode-Extra | Browser js | IP-zu-Geokodierung-Suche im Browser | country latitude longitude | ✓ |
Anwendung | Sprache | Beschreibung | Typen | Auto Aktualisierungen |
---|---|---|---|---|
ip_location_server | Java | Ein In-Memory-GRPC- und HTTP-Server, der IP-Adressen Standorten zuordnet (erfordert mindestens 1,5 GB RAM) | country asn city | ✓ |
IP-Standort-API | Gehen | API-Server zur Erstellung/Unterstützung von MMDB, PostgreSQL, MySQL/MariaDB und SQLite | country asn city | ✓ |
IP-Geo-API | Gehen | In-Memory-API-Server | country | ✘ |
IPInfoOffline | Windows | Desktop-Tool mit Informationen zu IP-Adressen (lokale Daten) | country asn city | ✘ |
Werkzeug | Beschreibung |
---|---|
IP-Standort-zu-mmdb | Grundlegende Konvertierung von CSV-Dateien aus dieser Datenbank in MMDB-Dateien |
mmdbmeld | Erstellen und passen Sie MMDB-Dateien aus CSV-Dateien in dieser Datenbank an |
Die erforderliche Lizenz hängt von der Datenbank ab, die Sie verwenden. Bitte lesen Sie jede Datenbanklizenz vor der Verwendung sorgfältig durch.
Sie können PDDL- (ODC Public Domain Dedication and Licence) oder CC0- (Creative Commons Zero) lizenzierte Datenbanken ohne Quellenangabe für jeden Zweck verwenden.
Wir wären Ihnen dankbar, wenn Sie auf sapics/ip-location-db verlinken und dieses Projekt markieren könnten, um anderen zu helfen, es zu finden.