此項目以 CSV 和 MMDB 格式提供 IP 到位置資料庫。
該儲存庫中有 3 種類型的 IP 資料庫: country
、 city
和asn
檔案。都有自己的標準格式。
ip_range_start, ip_range_end, country_code
資料庫 | 類型 | 執照 | 已更新 | IPv4 | IPv6 | IPv4 編號 | IPv6 編號 |
---|---|---|---|---|---|---|---|
ASN | 國家 | CC0 | 日常的 | CSV 多媒體資料庫 | CSV 多媒體資料庫 | CSV | CSV |
地理饋送 + ASN | 國家 | CC0 | 日常的 | CSV 多媒體資料庫 | CSV 多媒體資料庫 | CSV | CSV |
GeoFeed + Whois + ASN | 國家 | CC0 | 日常的 | CSV 多媒體資料庫 | CSV 多媒體資料庫 | CSV | CSV |
IP轉ASN | 國家 | IPtoASN 的 PDDL | 日常的 | CSV 多媒體資料庫 | CSV 多媒體資料庫 | CSV | CSV |
DB-IP Lite | 國家 | 抄送4.0 透過 DB-IP | 每月 | CSV 多媒體資料庫 | CSV 多媒體資料庫 | CSV | CSV |
DB-IP Lite + GeoFeed + Whois + ASN | 國家 | 抄送4.0 透過 DB-IP | 每月 | CSV 多媒體資料庫 | CSV 多媒體資料庫 | CSV | CSV |
GeoLite2 | 國家 | MaxMind 的 GeoLite2 許可 | 每週兩次 | CSV 多媒體資料庫 | CSV 多媒體資料庫 | CSV | CSV |
GeoLite2 + GeoFeed + Whois + ASN | 國家 | MaxMind 的 GeoLite2 許可 | 日常的 | CSV 多媒體資料庫 | CSV 多媒體資料庫 | CSV | CSV |
ip_range_start, ip_range_end, country_code, city, state1, state2, latitude, longitude, postcode, timezone
資料庫 | 類型 | 執照 | 已更新 | IPv4 | IPv6 | IPv4 編號 | IPv6 編號 |
---|---|---|---|---|---|---|---|
DB-IP Lite | 城市 | 抄送4.0 透過 DB-IP | 每月 | CSV.gz CSV.7z 多媒體資料庫 | CSV.gz CSV.7z 多媒體資料庫 | CSV.gz CSV.7z | CSV.gz CSV.7z |
GeoLite2 | 城市 | MaxMind 的 GeoLite2 許可 | 每週兩次 | CSV.gz CSV.7z 多媒體資料庫 | CSV.gz CSV.7z 多媒體資料庫 | CSV.gz CSV.7z | CSV.gz CSV.7z |
ip_range_start, ip_range_end, autonomous_system_number, autonomous_system_organization
資料庫 | 類型 | 執照 | 已更新 | IPv4 | IPv6 | IPv4 編號 | IPv6 編號 |
---|---|---|---|---|---|---|---|
路線視圖 + ASN + DB-IP | ASN | CC BY 4.0 由 RouteViews 和 DB-IP 提供 | 日常的 | CSV 多媒體資料庫 | CSV 多媒體資料庫 | CSV | CSV |
IP轉ASN | ASN | IPtoASN 的 PDDL | 日常的 | CSV 多媒體資料庫 | CSV 多媒體資料庫 | CSV | CSV |
DB-IP Lite | ASN | 抄送4.0 透過 DB-IP | 每月 | CSV 多媒體資料庫 | CSV 多媒體資料庫 | CSV | CSV |
GeoLite2 | ASN | MaxMind 的 GeoLite2 許可 | 每週兩次 | CSV 多媒體資料庫 | CSV 多媒體資料庫 | CSV | CSV |
每種文件格式的說明在其自己的目錄中提供。
給定類型的所有文件共享相同的文件格式;例如,您可以將一個asn
檔案交換為任何其他asn
檔案。
透過合併 5 個 RIP(afrinic、apnic、arin、lacnic、ripe ncc)IP-ASN-國家資料庫建立。 ASN(自治系統編號)是 IANA 分配給自治系統 (AS) 的唯一編號。
透過合併 5 個 RIP(afrinic、apnic、arin、lacnic、ripe ncc)提供的 WHOIS 資料庫建立。
透過合併來自 OpenGeoFeed 的 GeoFeed 資料庫和提供者 geofeed 的集合等來創建。
我們正在使用此資料庫從 asn 的 ipv4 位址取得 AS 編號。這是根據 CC BY 4.0 授權的,因此,您必須建立 RouteViews 的歸屬才能使用 asn 資料庫。
您可以從原始網站下載 tsv 格式的每小時更新的資料庫。這是根據公共領域奉獻和許可證 v1.0 獲得許可的。與上面的ASN
資料庫有一些不同。
您可以從 ip-to-asn-lite 或 ip-to-country-lite 或 ip-to-city-lite 下載並讀取授權。 asn中使用的大多數AS組織名稱都使用ip-to-asn-lite資料庫。我們也使用 ip-to-asn-lite 從 ip 位址取得 AS Number 作為補充。
這些資料庫已獲得 CC BY 4.0 許可,因此,您必須建立 DB-IP.com 的歸屬才能使用 DB-IP 資料庫。
對於 Web 應用程序,您必須在顯示或使用資料庫結果的頁面上包含傳回 DB-IP.com 的連結。您可以將 HTML 程式碼片段貼到您的程式碼中來完成此操作: IP Geolocation by DB-IP
。
如果您需要更高的準確性或不需要歸屬或每日更新,請使用 db-ip 的商業版本。
GeoLite2 由 MaxMind 創建。 GeoLite2 的授權寫在 GEOLITE2_LICENSE 中,最終使用者授權協議 (EULA) 寫在 GEOLITE2_EULA 中。如果您使用這些資料庫,請仔細閱讀 GEOLITE2_LICENSE 和 GEOLITE2_EULA 檔案。此套餐附帶一定的限制和義務,最值得注意的是:
您無法阻止圖書館更新資料庫。
您不能使用 GeoLite2 資料:
出於 FCRA 的目的,
識別特定家庭或個人。
您可以閱讀最新版本的 GeoLite2 EULA。 GeoLite2 資料庫是由 MaxMind 在 CC BY-SA 4.0 下提供的,因此,您必須建立 MaxMind 的歸屬才能使用 GeoLite2 資料庫。如果您需要更好的精度,請使用商業版本GeoIp2。
這取決於您的用例!不過,我們確實有一些簡單的建議:
如果您需要郵遞區號或時區: geolite2-city
如果您需要具有 CC-BY 授權的城市資料: dbip-city
如果您需要具有公共領域授權的國家/地區資料庫: geo-whois-asn-country
如果您需要高精度和廣泛的 IP 範圍國家資料庫: geolite2-geo-whois-asn-country
相當於 geolite2 geolite2-country
geolite2-country
和其他 IP 範圍的geo-whois-asn-country
。 (截至 2024 年 8 月,IPv4 比geolite2-country
寬 0.10%,IPv6 寬 2.34%)
如果需要ASN資料庫: asn
由於沒有關於 IP 位址和國家/地區代碼的明確信息,因此很難定性討論公共領域數據的準確性,但可以通過將其與 GeoLite2 和 DbIp Lite 中的國家/地區信息進行比較來估計大致準確性。透過比較以高精度著稱的GeoLite2中的資料庫與其他資料庫的差異,我們可以看到Public Domain的準確性。
資料庫 | 相同的 | 差異 | 空的 | 額外的 |
---|---|---|---|---|
dbip 國家 | 96.15% | 3.85% | 0.00% | 0.42% |
asn國家 | 95.97% | 4.00% | 0.03% | 0.03% |
地理 ASN 國家 | 97.26% | 2.71% | 0.03% | 0.06% |
地理 WHOIS-ASN-國家 | 96.98% | 2.99% | 0.03% | 0.12% |
iptoasn國家 | 76.80% | 4.99% | 18.21% | 1.26% |
測量於2024年10月9日進行。 “相同”+“差異”+“空”顯示 GeoLite2 IP 範圍,GeoLite2 IP 範圍大小列為 100%。
「相同」表示資料庫中的國家代碼與 GeoLite2 中的國家代碼相同的百分比。
「Diff」表示資料庫中國家代碼與 GeoLite2 國家代碼不同的百分比。
「空」顯示資料庫中具有 GeoLite2 國家代碼但沒有對應國家代碼的 IP 的百分比。
「額外」表示未列出 GeoLite2 國家/地區代碼但在資料庫中列出了國家代碼的 IP 的百分比。
我們可以看到,對於 iptoasn-country 以外的所有數據,country_code 在超過 96% 的情況下與 GeoLite2 結果相符。儘管由於更新時間和資訊優先順序的差異,結果存在一些差異,但我們相信公共領域數據顯示出一定程度的準確性。
如果您想將 MMDB 檔案整合到現有專案中,有幾個程式庫可以提供協助。
使用 MMDB 檔案時,存在多種語言的程式庫。 Maxmind 為許多流行語言開發了官方程式庫:.NET、C、Java、Node.js、Perl、PHP、Python 和 Ruby,還有其他語言的第三方閱讀器:Erlang、Go、Rust。
如果您希望從 CSV 檔案建立自己的 MMDB 檔案(以自訂其格式),有幾個官方程式庫:Go 和 Perl (現已存檔) 。還有一些第三方選項:Python 和 Rust。
圖書館 | 語言 | 描述 | 類型 | 汽車 更新 |
---|---|---|---|---|
ip 位置 api | Node.js | 使用記憶體資料庫(7MB RAM)快速進行 IP 到國家/地區查找 | country city | ✓ |
國家 國家額外 | 瀏覽器js | 在瀏覽器中尋找 IP 到國家/地區 | country | ✓ |
地理編碼 地理編碼額外 | 瀏覽器js | 在瀏覽器中進行地理編碼查找的 IP | country latitude longitude | ✓ |
應用 | 語言 | 描述 | 類型 | 汽車 更新 |
---|---|---|---|---|
IP位置伺服器 | 爪哇 | 將 IP 位址對應到位置的記憶體中 GRPC 和 HTTP 伺服器(至少需要 1.5GB RAM) | country asn city | ✓ |
ip 位置 api | 去 | API 伺服器建立/支援 MMDB、PostgreSQL、MySQL / MariaDB 和 SQLite | country asn city | ✓ |
Ip-geo-API | 去 | 記憶體API伺服器 | country | ✘ |
IP資訊離線 | 視窗 | 顯示有關 IP 位址的資訊(本機資料)的桌面工具 | country asn city | ✘ |
工具 | 描述 |
---|---|
ip 位置到 mmdb | 從此資料庫中的 CSV 檔案到 MMDB 檔案的基本轉換 |
MMDB融合 | 從此資料庫中的 CSV 檔案建立和自訂 MMDB 文件 |
所需的許可證取決於您使用的資料庫。使用前請仔細閱讀每個資料庫許可證。
您可以出於任何目的使用 PDDL(ODC 公共領域專用和授權)或 CC0(知識共享零)授權的資料庫,而無需註明出處。
如果您可以連結回 sapics/ip-location-db,並為該專案加註星標以幫助其他人找到它,我們將不勝感激。