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ố và 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ần và phân tích vận hành.
Dữ liệu được xuất thành hai bộ độc lập — IPv6 và IPv4 — 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)
- Chọn và tải về tệp IPv6 hoặc IPv4 định dạng JSON / CSV / SQL theo nhu cầu.
- 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).
- Á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ô).
- 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.