Dữ liệu định vị địa lý IP (JSON / CSV)

Tác giả:Lisa Farrell · 2025-11-09

Cơ sở dữ liệu định vị địa lý IP ánh xạ các khoảng IP liên tục (ip_from ~ ip_to) tới quốc gia/khu vực, đơn vị hành chính, thành phốtọa độ (vĩ/kinh độ). Dùng cho phân luồng theo khu vực, tuân thủ & quản trị rủi ro, điều phối theo vị trí gầnphân tích vận hành. Dữ liệu được xuất thành hai bộ độc lập — IPv6IPv4 — với cùng trường và cùng định dạng tệp.

Cấu trúc dữ liệu (mô tả cột)

  • ip_from VARCHAR(39) NOT NULL: IP bắt đầu (tương thích IPv4/IPv6).
  • ip_to VARCHAR(39) NOT NULL: IP kết thúc (tương thích IPv4/IPv6).
  • country_code CHAR(2): mã ISO 3166-1 Alpha-2 (vd. US, CN).
  • region VARCHAR(100): tỉnh/bang/cấp hành chính thứ nhất.
  • city VARCHAR(100): tên thành phố.
  • latitude DECIMAL(9,5): vĩ độ.
  • longitude DECIMAL(9,5): kinh độ.
SQL tạo bảng (ví dụ MySQL)
CREATE TABLE geoip_ranges (
  ip_from      VARCHAR(39)  NOT NULL,
  ip_to        VARCHAR(39)  NOT NULL,
  country_code CHAR(2),
  region       VARCHAR(100),
  city         VARCHAR(100),
  latitude     DECIMAL(9,5),
  longitude    DECIMAL(9,5),
  PRIMARY KEY (ip_from, ip_to)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Tải xuống trực tuyến

Mỗi ngăn giao thức (IPv6 / IPv4) cung cấp ba định dạng: JSON (.gz), CSV (.gz), SQL (.gz).

Nguồn Loại Định dạng Tải xuống Mô tả
IPIN IPv6 JSON (.gz) Tải xuống Khoảng IPv6 → thông tin địa lý (mảng JSON).
IPIN IPv6 CSV (.gz) Tải xuống CSV chuẩn có tiêu đề; thuận tiện cho ETL/bảng tính.
IPIN IPv6 SQL (.gz) Tải xuống Bao gồm tạo bảng và INSERT hàng loạt; nhập trực tiếp vào MySQL.
IPIN IPv4 JSON (.gz) Tải xuống Khoảng IPv4 → thông tin địa lý (mảng JSON).
IPIN IPv4 CSV (.gz) Tải xuống CSV chuẩn có tiêu đề; thuận tiện cho ETL/bảng tính.
IPIN IPv4 SQL (.gz) Tải xuống Bao gồm tạo bảng và INSERT hàng loạt; nhập trực tiếp vào MySQL.

Lưu ý: tất cả tệp tải về là gói .gz. Hãy giải nén bằng gunzip hoặc xử lý trực tiếp dạng dòng trong ứng dụng của bạn.

Tải nhanh qua dòng lệnh

curl

# IPv6
curl -fL -OJ 'https://ipin.io/exports/20251028_204109/ipv6_ip_location.json.gz'
curl -fL -OJ 'https://ipin.io/exports/20251028_204109/ipv6_ip_location.csv.gz'
curl -fL -OJ 'https://ipin.io/exports/20251028_204109/ipv6_ip_location.sql.gz'

# IPv4
curl -fL -OJ 'https://ipin.io/exports/20251028_204109/ipv4_ip_location.json.gz'
curl -fL -OJ 'https://ipin.io/exports/20251028_204109/ipv4_ip_location.csv.gz'
curl -fL -OJ 'https://ipin.io/exports/20251028_204109/ipv4_ip_location.sql.gz'

wget

# Tự động dùng tên tệp từ máy chủ (--content-disposition)
# IPv6
wget --content-disposition 'https://ipin.io/exports/20251028_204109/ipv6_ip_location.json.gz'
wget --content-disposition 'https://ipin.io/exports/20251028_204109/ipv6_ip_location.csv.gz'
wget --content-disposition 'https://ipin.io/exports/20251028_204109/ipv6_ip_location.sql.gz'

# IPv4
wget --content-disposition 'https://ipin.io/exports/20251028_204109/ipv4_ip_location.json.gz'
wget --content-disposition 'https://ipin.io/exports/20251028_204109/ipv4_ip_location.csv.gz'
wget --content-disposition 'https://ipin.io/exports/20251028_204109/ipv4_ip_location.sql.gz'

# Đặt tên tệp + tiếp tục tải
wget -c -O ipv6_ip_location.json.gz 'https://ipin.io/exports/20251028_204109/ipv6_ip_location.json.gz'
wget -c -O ipv6_ip_location.csv.gz  'https://ipin.io/exports/20251028_204109/ipv6_ip_location.csv.gz'
wget -c -O ipv6_ip_location.sql.gz  'https://ipin.io/exports/20251028_204109/ipv6_ip_location.sql.gz'
wget -c -O ipv4_ip_location.json.gz 'https://ipin.io/exports/20251028_204109/ipv4_ip_location.json.gz'
wget -c -O ipv4_ip_location.csv.gz  'https://ipin.io/exports/20251028_204109/ipv4_ip_location.csv.gz'
wget -c -O ipv4_ip_location.sql.gz  'https://ipin.io/exports/20251028_204109/ipv4_ip_location.sql.gz'

aria2c (đa luồng)

# IPv6
aria2c -x16 -s16 -k1M -o ipv6_ip_location.json.gz 'https://ipin.io/exports/20251028_204109/ipv6_ip_location.json.gz'
aria2c -x16 -s16 -k1M -o ipv6_ip_location.csv.gz  'https://ipin.io/exports/20251028_204109/ipv6_ip_location.csv.gz'
aria2c -x16 -s16 -k1M -o ipv6_ip_location.sql.gz  'https://ipin.io/exports/20251028_204109/ipv6_ip_location.sql.gz'

# IPv4
aria2c -x16 -s16 -k1M -o ipv4_ip_location.json.gz 'https://ipin.io/exports/20251028_204109/ipv4_ip_location.json.gz'
aria2c -x16 -s16 -k1M -o ipv4_ip_location.csv.gz  'https://ipin.io/exports/20251028_204109/ipv4_ip_location.csv.gz'
aria2c -x16 -s16 -k1M -o ipv4_ip_location.sql.gz  'https://ipin.io/exports/20251028_204109/ipv4_ip_location.sql.gz'

PowerShell

# IPv6
Invoke-WebRequest -Uri "https://ipin.io/exports/20251028_204109/ipv6_ip_location.json.gz" -OutFile "ipv6_ip_location.json.gz"
Invoke-WebRequest -Uri "https://ipin.io/exports/20251028_204109/ipv6_ip_location.csv.gz"  -OutFile "ipv6_ip_location.csv.gz"
Invoke-WebRequest -Uri "https://ipin.io/exports/20251028_204109/ipv6_ip_location.sql.gz"  -OutFile "ipv6_ip_location.sql.gz"

# IPv4
Invoke-WebRequest -Uri "https://ipin.io/exports/20251028_204109/ipv4_ip_location.json.gz" -OutFile "ipv4_ip_location.json.gz"
Invoke-WebRequest -Uri "https://ipin.io/exports/20251028_204109/ipv4_ip_location.csv.gz"  -OutFile "ipv4_ip_location.csv.gz"
Invoke-WebRequest -Uri "https://ipin.io/exports/20251028_204109/ipv4_ip_location.sql.gz"  -OutFile "ipv4_ip_location.sql.gz"

Mẹo: các tệp tải về là .gz. Có thể giải nén bằng gunzip hoặc đọc trực tiếp dạng dòng trong chương trình của bạn.

Mô tả định dạng

JSON

Mảng; mỗi phần tử gồm ip_from, ip_to, country_code, region, city, latitude, longitude.

[
  {
    "ip_from": "2400:cb00::",
    "ip_to":   "2400:cb00:ffff:ffff:ffff:ffff:ffff:ffff",
    "country_code": "US",
    "region": "California",
    "city": "Los Angeles",
    "latitude": 34.05460,
    "longitude": -118.24400
  }
]
CSV

Dòng đầu là tiêu đề; các trường chứa dấu phẩy/ngoặc kép được escape theo RFC 4180.

ip_from,ip_to,country_code,region,city,latitude,longitude
1.0.0.0,1.0.0.255,AU,Queensland,South Brisbane,-27.47480,153.01700
SQL

Bao gồm tạo bảng và các câu INSERT hàng loạt; phù hợp nhập thẳng vào MySQL.

-- Xem định nghĩa bảng ở trên
INSERT INTO geoip_ranges
(ip_from, ip_to, country_code, region, city, latitude, longitude) VALUES
('1.0.0.0','1.0.0.255','AU','Queensland','South Brisbane',-27.47480,153.01700);

Cách sử dụng (bắt đầu nhanh)

  1. Chọn và tải về tệp IPv6 hoặc IPv4 định dạng JSON / CSV / SQL theo nhu cầu.
  2. Giải nén và nhập vào cơ sở dữ liệu (hoặc phân tích trực tiếp trong ứng dụng).
  3. Áp dụng chiến lược phân luồng & tuân thủ theo quốc gia/khu vực, vùng, thành phố hoặc tọa độ; có thể dùng khoảng cách để điều phối gần (độ chi tiết thô).
  4. Thiết lập tác vụ định kỳ (hàng ngày/hàng tuần) để cập nhật ghi đè, giữ dữ liệu luôn mới.

Ghi chú bổ sung

  • IPv6/IPv4 dùng cùng định nghĩa cột; chỉ khác không gian địa chỉ được bao phủ.
  • Tọa độ và đơn vị hành chính chỉ mang tính định vị gần đúng, không phải địa chỉ chính xác; vui lòng tuân thủ quyền riêng tư và quy định.
  • Nếu cần truy vấn hiệu năng cao, hãy chuyển IPv4 thành khoảng số nguyên 32-bit; với IPv6, sử dụng trie tiền tố/cây khoảng hoặc chỉ mục chuyên dụng.