Tra cứu thông tin IP
Tra cứu thông tin chi tiết về vị trí địa lý, ISP, ASN của địa chỉ IP
Riêng tư và bảo mật
Khi sử dụng công cụ này để truy vấn thông tin IP, vui lòng lưu ý những điều sau:
- ℹ️ Yêu cầu truy vấn sẽ được gửi đến API bên thứ ba; chúng tôi không ghi lại lịch sử truy vấn của bạn
- ℹ️ Thông tin vị trí địa lý của IP thường chính xác đến cấp thành phố, không thể xác định chính xác địa chỉ cụ thể
- ℹ️ Hầu hết các kết nối băng thông rộng gia đình sử dụng IP động, địa chỉ IP của bạn có thể thay đổi định kỳ
- ℹ️ Nếu bạn sử dụng VPN hoặc proxy, kết quả truy vấn sẽ hiển thị thông tin của máy chủ proxy
Các tình huống sử dụng
Kiểm tra bảo mật
Kiểm tra nguồn IP khả nghi trong nhật ký truy cập để nhận diện các mối đe dọa bảo mật tiềm ẩn.
Gỡ lỗi mạng
Khắc phục sự cố kết nối mạng, xác định vị trí địa lý của máy chủ hoặc nút CDN.
Định vị địa lý
Cung cấp nội dung, ngôn ngữ hoặc dịch vụ được cá nhân hóa theo IP người dùng (ví dụ: phân phối CDN).
Câu hỏi thường gặp
Định vị địa chỉ IP có chính xác không?
Vị trí IP thường chính xác đến cấp thành phố, sai số có thể từ vài chục đến vài trăm km. Không thể xác định chính xác địa chỉ đường phố hoặc số nhà thông qua địa chỉ IP.
Tại sao địa chỉ IP của tôi lại thay đổi?
Hầu hết các kết nối宽带 gia đình sử dụng phân bổ IP động (DHCP), nhà cung cấp sẽ thay đổi IP của bạn định kỳ. Doanh nghiệp hoặc máy chủ thường sử dụng IP cố định (IP tĩnh).
Làm thế nào để ẩn IP thật của tôi?
Bạn có thể sử dụng VPN, máy chủ proxy hoặc mạng Tor để ẩn IP thật. Tuy nhiên, lưu ý rằng các dịch vụ này có thể làm giảm tốc độ mạng và ảnh hưởng đến việc truy cập một số trang web.
Tại sao tôi có hai địa chỉ IP?
Bạn có thể đồng thời có địa chỉ IPv4 và IPv6. Mạng hiện đại đang chuyển đổi từ IPv4 sang IPv6, nhiều thiết bị hỗ trợ cả hai giao thức.
IPv4 so với IPv6: Vì sao cần IPv6?
IPv4 (1981)
Định dạng: 4 nhóm số thập phân (ví dụ: 192.168.1.1)
Tổng số: khoảng 4,3 tỷ địa chỉ (2³² = 4.294.967.296)
Vấn đề: Địa chỉ gần như cạn kiệt, đã được phân phối hết từ năm 2011
Độ dài: 32 bit
IPv6 (1998)
Định dạng: 8 nhóm số thập lục phân (ví dụ: 2001:0db8::1)
Tổng số: khoảng 340 tỷ tỷ tỷ địa chỉ (2¹²⁸)
Ưu điểm: Số lượng địa chỉ gần như vô hạn, đủ để cấp cho từng hạt cát trên Trái Đất
Độ dài: 128 bit
Tại sao IPv4 không đủ dùng?
- • Dân số toàn cầu 8 tỷ người, mỗi người ít nhất có 2-3 thiết bị (điện thoại, máy tính, máy tính bảng)
- • Sự bùng nổ của thiết bị IoT (nhà thông minh, ô tô, thiết bị đeo được)
- • Doanh nghiệp và trung tâm dữ liệu cần rất nhiều địa chỉ IP
- • Phân bổ không hợp lý trong giai đoạn đầu (ví dụ: MIT sở hữu 16 triệu địa chỉ IP)
Các dải địa chỉ IP đặc biệt
Địa chỉ vòng lặp (Loopback)
127.0.0.0/8 (127.0.0.1 - 127.255.255.255)
Dùng để kiểm thử trên máy chủ, dữ liệu không được gửi ra mạng, thường dùng 127.0.0.1 để biểu thị localhost
Mục đích: Kiểm thử dịch vụ cục bộ, phát triển và gỡ lỗi
Địa chỉ riêng (Private)
- 10.0.0.0/8 (10.0.0.0 - 10.255.255.255) - Lớp A
- 172.16.0.0/12 (172.16.0.0 - 172.31.255.255) - Lớp B
- 192.168.0.0/16 (192.168.0.0 - 192.168.255.255) - Lớp C
Dùng trong mạng cục bộ, không thể truy cập trực tiếp vào Internet, cần chuyển đổi NAT
Mục đích: Mạng gia đình, mạng nội bộ doanh nghiệp
Địa chỉ APIPA
169.254.0.0/16
Địa chỉ tạm thời do hệ thống tự động cấp khi máy chủ DHCP không khả dụng
Mục đích: Tự cấu hình (cho thấy lỗi cấu hình mạng)
Địa chỉ đaicast (Multicast)
224.0.0.0/4 (224.0.0.0 - 239.255.255.255)
Dùng cho giao tiếp một-nhiều, như phát trực tuyến video, IPTV
Địa chỉ được giữ lại
- 0.0.0.0/8 - đại diện cho "mạng này"
- 255.255.255.255 - địa chỉ phát sóng
- 192.0.2.0/24 - dùng riêng cho ví dụ tài liệu
- 198.18.0.0/15 - dùng riêng cho kiểm tra cơ sở
Máy chủ DNS công cộng mạnh nhất
Google DNS
8.8.8.8 / 8.8.4.4
2001:4860:4860::8888 / 2001:4860:4860::8844
Nhanh và ổn định nhất toàn cầu, hỗ trợ DNSSEC
Cloudflare DNS
1.1.1.1 / 1.0.0.1
2606:4700:4700::1111 / 2606:4700:4700::1001
Tập trung vào quyền riêng tư, tốc độ cực nhanh, không ghi nhật ký
Quad9 DNS
9.9.9.9 / 149.112.112.112
Bảo mật, chặn các trang web độc hại
OpenDNS
208.67.222.222 / 208.67.220.220
Kiểm soát của phụ huynh, lọc nội dung
DNS khu vực Châu Á
- DNS Alibaba Cloud (Trung Quốc): 223.5.5.5 / 223.6.6.6
- DNSPod (Trung Quốc): 119.29.29.29
- 114 DNS (Trung Quốc): 114.114.114.114
Thông tin thú vị về IP
💰 Đoạn IP đắt nhất
Đoạn IP 1.0.0.0/8 từng được APNIC mua với giá hàng triệu đô la để phục vụ nghiên cứu. Một số IP "đẹp" (như 8.8.8.8, 1.1.1.1) có giá trị cực cao — Cloudflare đã chi một khoản tiền lớn để mua lại 1.1.1.1 từ các công ty viễn thông.
📍 Tại sao cùng một IP lại hiển thị vị trí khác nhau?
- • Cơ sở dữ liệu định vị IP khác nhau (nguồn dữ liệu API của từng nhà cung cấp khác nhau)
- • IP động thay đổi (nhà cung cấp dịch vụ tái phân phối)
- • VPN/Proxy (hiển thị vị trí của máy chủ proxy)
- • CDN node (hiển thị vị trí của máy chủ CDN gần nhất)
- • Mạng di động (vị trí trạm phát có thể không chính xác)
📊 Tỷ lệ triển khai IPv6
Tính đến năm 2024, tỷ lệ triển khai IPv6 toàn cầu khoảng 40%, với Ấn Độ, Hoa Kỳ và Đức dẫn đầu, Trung Quốc khoảng 30%. Bỉ là quốc gia có tỷ lệ triển khai IPv6 cao nhất thế giới, vượt quá 60%.
🎂 IP đầu tiên
Vào ngày 1 tháng 1 năm 1983, Internet chính thức áp dụng giao thức TCP/IP, từ đó IP đầu tiên ra đời. Leonard Kleinrock của BBN Technologies được coi là người đầu tiên sử dụng địa chỉ IP.
🗑️ Sự phân bổ không hợp lý của địa chỉ IP
Trong giai đoạn đầu, việc phân bổ IP rất hào phóng: MIT (một trường đại học) sở hữu 16 triệu IP (toàn bộ dải 18.0.0.0/8), Apple cũng sở hữu 16 triệu IP (17.0.0.0/8). Trong khi đó, toàn bộ Trung Quốc chỉ được cấp khoảng 330 triệu IP để phục vụ gần 1 tỷ người dùng Internet — nếu tính trung bình 2 thiết bị mỗi người, cần ít nhất 2 tỷ IP. Sự bất cân xứng này buộc Trung Quốc phải sử dụng rộng rãi công nghệ NAT để chia sẻ IP.
🚫 Danh sách đen IP
Trên toàn cầu có nhiều cơ sở dữ liệu danh sách đen IP (như Spamhaus) để đánh dấu các IP nguồn của thư rác, phần mềm độc hại, tấn công DDoS, v.v. Khi một IP bị đưa vào danh sách đen, nó có thể dẫn đến việc email bị từ chối hoặc trang web bị chặn.
🤯 Ví dụ kỳ lạ về định vị IP
Một gia đình bình thường ở bang Kansas, Mỹ, vì bị cơ sở dữ liệu IP của công ty MaxMind gán làm vị trí mặc định (tọa độ 38°N 97°W, trung tâm địa lý của Mỹ), khiến hàng triệu IP không thể xác định chính xác đều hướng về nơi này. Gia đình họ vô tình trở thành "địa điểm của tin tặc toàn nước Mỹ", nhận được vô số cuộc gọi làm phiền và thậm chí là các cuộc thăm hỏi bất ngờ từ FBI, cảnh sát, chủ nợ và nạn nhân lừa đảo — thậm chí có người đập cửa xông vào nhà vào giữa đêm. Năm 2016, gia đình này đã kiện MaxMind ra tòa và cuối cùng nhận được bồi thường.
💸 IP IPv4 có thể mua bán
Do sự cạn kiệt địa chỉ IPv4, các địa chỉ IP đã trở thành hàng hóa có thể giao dịch. Giá trên thị trường chợ đen có thể lên tới 40 USD/mỗi địa chỉ. Năm 2011, Microsoft đã mua 666.000 địa chỉ IP từ công ty Nortel đang phá sản với giá 7,5 triệu USD, trung bình khoảng 11,25 USD/mỗi địa chỉ. Năm 2014, các gã khổng lồ công nghệ như Amazon và Microsoft đã cạnh tranh khốc liệt để mua địa chỉ IPv4, khiến giá tăng vọt.
🤦 "Sai lầm" của những người thiết kế IPv4
Năm 1981, các nhà thiết kế IPv4 cho rằng "4,2 tỷ địa chỉ, con người dùng cả đời cũng không hết". Họ hoàn toàn không ngờ rằng Internet sẽ phát triển đến quy mô ngày nay: hơn 8 tỷ người trên toàn cầu, mỗi người ít nhất sở hữu 2-3 thiết bị, cộng thêm sự bùng nổ của các thiết bị IoT. Nếu lúc đó họ thiết kế thành 64 bit hoặc 128 bit, thì sẽ không có vấn đề cạn kiệt địa chỉ như hiện nay.
🏠 Bí mật của 127.0.0.1
127.0.0.1 (localhost) không chỉ là một địa chỉ duy nhất; toàn bộ dải 127.0.0.0/8 (khoảng 16 triệu địa chỉ) đều là địa chỉ vòng lặp. Bạn có thể ping bất kỳ địa chỉ nào như 127.0.0.2, 127.1.2.3,... đều sẽ trỏ về máy tính của bạn.
⏰ Lịch sử cạn kiệt địa chỉ IPv4
Ngày 3 tháng 2 năm 2011, IANA phân phối hết các khối địa chỉ IPv4 cuối cùng. Ngày 15 tháng 4 năm 2011, khu vực châu Á - Thái Bình Dương (APNIC) cạn kiệt. Tháng 9 năm 2012, châu Âu (RIPE NCC) cạn kiệt. Tháng 9 năm 2015, Bắc Mỹ (ARIN) cạn kiệt.
📏 Địa chỉ IP dài nhất
Địa chỉ IPv6 dài nhất có thể gồm 39 ký tự (8 nhóm, mỗi nhóm 4 chữ số thập lục phân, cộng với 7 dấu hai chấm). Tuy nhiên, nhờ các quy tắc rút gọn, nó có thể được rút ngắn đáng kể, ví dụ: ::1 đại diện cho địa chỉ vòng lặp IPv6.
🚀 Địa chỉ IP không liên quan đến tốc độ mạng
Nhiều người nhầm tưởng rằng thay đổi địa chỉ IP có thể tăng tốc độ mạng, nhưng thực tế, địa chỉ IP chỉ đóng vai trò như "số nhà" trong mạng, tốc độ phụ thuộc vào băng thông, định tuyến, máy chủ và các yếu tố khác, không liên quan đến chính địa chỉ IP.
Đặc điểm và ưu nhược điểm của IPv6
Ưu điểm
- ✓ Không gian địa chỉ khổng lồ: 2¹²⁸ địa chỉ, gần như vô hạn
- ✓ Đơn giản hóa định tuyến: cấu trúc địa chỉ phân tầng, bảng định tuyến nhỏ hơn
- ✓ Cấu hình tự động: hỗ trợ SLAAC, không cần DHCP
- ✓ An toàn hơn: tích hợp hỗ trợ IPsec
- ✓ Chất lượng dịch vụ tốt hơn: trường nhãn luồng, tối ưu hóa ứng dụng thời gian thực
- ✓ Không cần NAT: mỗi thiết bị đều có địa chỉ IP công khai
- ✓ Hỗ trợ di động: hỗ trợ thiết bị di động tốt hơn
Nhược điểm
- ⚠ Vấn đề tương thích: yêu cầu thiết bị và mạng hỗ trợ
- ⚠ Chi phí học tập: định dạng địa chỉ phức tạp, khó nhớ
- ⚠ Chi phí chuyển đổi: cần nâng cấp thiết bị và phần mềm
- ⚠ Chạy song song: trong giai đoạn chuyển đổi, cần hỗ trợ đồng thời IPv4 và IPv6
Dịch vụ truy vấn thông tin IP liên quan
Công cụ này sử dụng các API sau để cung cấp dịch vụ, đồng thời giới thiệu các dịch vụ truy vấn IP xuất sắc khác:
IP-API.com
Công cụ này sử dụng ⭐Công cụ này chủ yếu sử dụng API này. Hoàn toàn miễn phí (phi thương mại), hỗ trợ truy vấn hàng loạt, cung cấp định dạng JSON/XML/CSV. Giới hạn: 45 lần/phút.
IPapi.co
Công cụ này sử dụng ⭐API dự phòng cho công cụ này. Cung cấp thêm thông tin về tiền tệ, ngôn ngữ, loại kết nối... Phiên bản miễn phí cho phép 30.000 yêu cầu/tháng.
IPInfo.io
Dữ liệu chính xác, API thân thiệnCung cấp thông tin IP chi tiết, dữ liệu ASN, vị trí địa lý, thông tin công ty... Có kế hoạch miễn phí (Free Plan).
IPGeolocation.io
Nhiều tính năng phong phúCung cấp thông tin về vị trí địa lý IP, múi giờ, tiền tệ, thời tiết... Phiên bản miễn phí cho phép 30.000 yêu cầu/tháng.
MaxMind GeoIP2
Chính xác nhất, dành doanh nghiệpCơ sở dữ liệu vị trí IP tiêu chuẩn ngành, độ chính xác cao. Cung cấp cả cơ sở dữ liệu ngoại tuyến và API trực tuyến.
IPStack
Phát hiện bảo mậtHỗ trợ IPv4 và IPv6, cung cấp mô-đun bảo mật (phát hiện proxy, VPN, Tor). Phiên bản miễn phí cho phép 100 yêu cầu/tháng.
IPData.co
Thông tin mối đe dọaCung cấp thông tin mối đe dọa, dữ liệu ASN, thông tin công ty. Phiên bản miễn phí cho phép 1.500 yêu cầu/ngày.
Abstract API
Đơn giản, dễ sử dụngAPI vị trí IP đơn giản, dễ sử dụng. Phiên bản miễn phí cho phép 1.000 yêu cầu/tháng, giới hạn 1 lần/giây.
IPRegistry
Đăng ký nhận 100.000 lượt miễn phíCung cấp vị trí IP, thông tin công ty, phát hiện mối đe dọa, phân giải proxy người dùng. Sau khi đăng ký, bạn được tặng 100.000 lượt truy cập miễn phí.
DB-IP
Cơ sở dữ liệu mã nguồn mởCung cấp cơ sở dữ liệu vị trí IP miễn phí để tải về, cùng dịch vụ tra cứu trực tuyến.
IPify
Lấy địa chỉ IP công cộngChuyên về việc lấy địa chỉ IP công cộng, đơn giản và nhanh chóng, hoàn toàn miễn phí.
Làm thế nào để lấy địa chỉ IP qua lập trình?
Dưới đây là các ví dụ mã nguồn để lấy địa chỉ IP của người dùng trong các ngôn ngữ lập trình khác nhau:
Java (Spring Boot)
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@RestController
public class IpController {
@GetMapping('/ip')
public String getClientIp(HttpServletRequest request) {
String ip = request.getHeader("CF-Connecting-IP");
if (ip == null || ip.isEmpty()) {
ip = request.getHeader("X-Forwarded-For");
if (ip != null) {
ip = ip.split(",")[0];
}
}
if (ip == null || ip.isEmpty()) {
ip = request.getHeader("X-Real-IP");
}
if (ip == null || ip.isEmpty()) {
ip = request.getRemoteAddr();
}
return ip;
}
}
PHP
function getClientIp() {
$ipKeys = [
'HTTP_CF_CONNECTING_IP',
'HTTP_X_FORWARDED_FOR',
'HTTP_X_REAL_IP',
'REMOTE_ADDR'
];
foreach ($ipKeys as $key) {
if (!empty($_SERVER[$key])) {
$ips = explode(',', $_SERVER[$key]);
return trim($ips[0]);
}
}
return $_SERVER['REMOTE_ADDR'] ?? 'Unknown';
}
$ip = getClientIp();
echo "Your IP: " . $ip;
JavaScript (Node.js)
const express = require('express');
const app = express();
app.get('/ip', (req, res) => {
const ip = req.headers['cf-connecting-ip'] ||
req.headers['x-forwarded-for']?.split(',')[0] ||
req.headers['x-real-ip'] ||
req.socket.remoteAddress;
res.json({ ip: ip });
});
app.listen(3000);
Python (Flask)
from flask import Flask, request
app = Flask(__name__)
@app.route('/ip')
def get_ip():
ip = request.headers.get('CF-Connecting-IP') or \
request.headers.get('X-Forwarded-For', '').split(',')[0] or \
request.headers.get('X-Real-IP') or \
request.remote_addr
return {'ip': ip}
if __name__ == '__main__':
app.run()
Rust
use actix_web::{web, App, HttpRequest, HttpServer, Responder};
fn get_client_ip(req: &HttpRequest) -> String {
if let Some(ip) = req.headers().get("CF-Connecting-IP") {
return ip.to_str().unwrap_or("").to_string();
}
if let Some(forwarded) = req.headers().get("X-Forwarded-For") {
if let Ok(forwarded_str) = forwarded.to_str() {
if let Some(first_ip) = forwarded_str.split(',').next() {
return first_ip.trim().to_string();
}
}
}
if let Some(ip) = req.headers().get("X-Real-IP") {
return ip.to_str().unwrap_or("").to_string();
}
req.peer_addr()
.map(|addr| addr.ip().to_string())
.unwrap_or_else(|| "Unknown".to_string())
}
async fn ip_handler(req: HttpRequest) -> impl Responder {
let ip = get_client_ip(&req);
format!("Your IP: {}", ip)
}
#[actix_web::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| {
App::new().route("/ip", web::get().to(ip_handler))
})
.bind("127.0.0.1:8080")?
.run()
.await
}
Go
package main
import (
"net/http"
"strings"
)
func getClientIP(r *http.Request) string {
if ip := r.Header.Get("CF-Connecting-IP"); ip != "" {
return ip
}
if forwarded := r.Header.Get("X-Forwarded-For"); forwarded != "" {
ips := strings.Split(forwarded, ",")
return strings.TrimSpace(ips[0])
}
if ip := r.Header.Get("X-Real-IP"); ip != "" {
return ip
}
return r.RemoteAddr
}
func handler(w http.ResponseWriter, r *http.Request) {
ip := getClientIP(r)
w.Write([]byte("Your IP: " + ip))
}
func main() {
http.HandleFunc("/ip", handler)
http.ListenAndServe(":8080", nil)
}
注意事项:
- • Lưu ý: Nếu trang web sử dụng CDN (như Cloudflare) hoặc proxy ngược (như Nginx), bạn cần lấy IP thật từ các tiêu đề HTTP cụ thể
- • Ưu tiên: CF-Connecting-IP > X-Forwarded-For > X-Real-IP > RemoteAddr
- • X-Forwarded-For có thể chứa nhiều IP (phân cách bằng dấu phẩy), IP đầu tiên là IP thật của khách hàng
- • JavaScript phía trình duyệt không thể trực tiếp lấy IP, cần gọi API bên thứ ba