TRACIO phân tích địa chỉ IP của mọi khách truy cập ở phía máy chủ. Nó gắn cờ VPN, proxy, Tor exit node và nguồn gốc datacenter, đồng thời phân giải định vị địa lý ở cấp thành phố và ASN. Toàn bộ quá trình phân tích chạy ở phía máy chủ, không phụ thuộc vào phía máy khách.
IP intelligence đến với ứng dụng của bạn thông qua webhook payload: đối tượng
network (các boolean VPN/proxy/Tor/datacenter cùng loại kết nối) và đối tượng
geo (quốc gia, thành phố, tọa độ, múi giờ, ISP) được gửi kèm trong mỗi
webhook. Xem Webhooks để biết cấu trúc payload đầy đủ và cách
xác minh chữ ký.
Việc phân loại VPN, proxy, Tor và datacenter được phân giải từ IP kết nối
bằng các cơ sở dữ liệu IP intelligence thương mại (IP2Location cho loại VPN/proxy/Tor,
MaxMind cho định vị địa lý và ASN). Mỗi loại được hiển thị dưới dạng một boolean duy nhất trên
đối tượng network của webhook — không có phân tích theo từng phương pháp hay điểm tin cậy trong
payload công khai.
| Cờ | Trường | Ý nghĩa |
|---|---|---|
| VPN | network.vpn | IP thuộc về một nhà cung cấp VPN đã biết |
| Proxy | network.proxy | IP là proxy datacenter hoặc residential |
| Tor | network.tor | IP là một Tor exit node đã biết |
| Datacenter | network.datacenter | IP thuộc về một nhà cung cấp cloud/hosting |
{ "network": { "vpn": true, "proxy": false, "tor": false, "datacenter": false, "connectionType": "residential" }}// `payload` is the webhook delivery body (/docs/webhooks)if (payload.network.vpn) { // visitor is connecting through a VPN}Proxy datacenter và residential đều hiển thị dưới dạng network.proxy; nguồn gốc
datacenter được báo cáo bổ sung dưới dạng network.datacenter. Việc phân loại đến từ
cơ sở dữ liệu proxy IP2Location, bao phủ các nhà cung cấp cloud/hosting lớn (AWS,
Google Cloud, Azure, Oracle Cloud, Alibaba Cloud, DigitalOcean, Hetzner, OVH,
Linode/Akamai, Vultr và những nhà cung cấp khác).
{ "network": { "vpn": false, "proxy": true, "tor": false, "datacenter": true, "connectionType": "datacenter" }}Một kết quả khớp Tor exit node trên IP kết nối sẽ hiển thị dưới dạng network.tor. Riêng biệt với điều đó,
bản thân Tor Browser được phát hiện ở phía máy khách thông qua cấu hình chống fingerprinting của nó
(kháng canvas/WebGL, múi giờ UTC, kích thước màn hình được làm tròn) — xem
Smart Signals.
Định vị địa lý ở cấp thành phố và ASN được phân giải ở phía máy chủ từ IP kết nối
(MaxMind) và được gửi trong đối tượng geo của webhook.
| Trường | Kiểu | Mô tả |
|---|---|---|
geo.country | string | Mã quốc gia ISO 3166-1 alpha-2 |
geo.city | string | Tên thành phố |
geo.lat | number | Vĩ độ gần đúng |
geo.lon | number | Kinh độ gần đúng |
geo.timezone | string | Định danh múi giờ IANA |
geo.isp | string | Tên nhà cung cấp dịch vụ Internet |
{ "geo": { "country": "CZ", "city": "Prague", "lat": 50.05, "lon": 14.4, "timezone": "Europe/Prague", "isp": "Comcast Cable" }}Việc đối chiếu với danh sách chặn IP và theo dõi velocity (hoạt động xuyên IP / xuyên quốc gia)
không thuộc phạm vi hợp đồng công khai hiện tại. Cả webhook payload lẫn
dashboard đều không hiển thị các danh mục danh sách chặn hay khoảng thời gian velocity. Bề mặt
webhook cho rủi ro mạng bị giới hạn ở các cờ boolean network và
loại kết nối; hãy sử dụng chúng cùng với các trường decision và bot (xem
Smart Signals) để đưa ra quyết định về rủi ro.
Đoạn này đọc trực tiếp đối tượng network của webhook payload. Xem
Webhooks để biết payload đầy đủ và cách xác minh chữ ký.
// `payload` is the webhook delivery body (/docs/webhooks)function assessIPRisk(payload: WebhookPayload) { const { vpn, proxy, tor, datacenter } = payload.network
const risks: string[] = [] let riskLevel = "low"
if (tor) { risks.push("Tor exit node") riskLevel = "critical" }
if (vpn) { risks.push("VPN detected") riskLevel = riskLevel === "low" ? "medium" : riskLevel }
if (proxy) { risks.push("Proxy detected") riskLevel = riskLevel === "low" ? "medium" : riskLevel }
if (datacenter) { risks.push("Datacenter IP") riskLevel = riskLevel === "low" ? "medium" : riskLevel }
return { riskLevel, risks }}