Pemeriksaan Maklumat IP
Semak maklumat terperinci seperti lokasi geografi, ISP, dan ASN bagi alamat IP
Privasi dan Keselamatan
Semasa menggunakan alat ini untuk menyiasat maklumat IP, sila perhatikan perkara-perkara berikut:
- ℹ️ Permintaan penyiasatan akan dihantar ke API pihak ketiga; kami tidak merekod sejarah penyiasatan anda
- ℹ️ Maklumat lokasi geografi IP biasanya tepat sehingga peringkat bandar, dan tidak boleh menentukan lokasi tepat
- ℹ️ Sebahagian besar broadband rumah menggunakan IP dinamik, jadi alamat IP anda mungkin berubah secara berkala
- ℹ️ Jika anda menggunakan VPN atau proxy, hasil penyiasatan akan menunjukkan maklumat pelayan proxy
Skenario Penggunaan
Semakan Keselamatan
Semak sumber alamat IP dalam log akses untuk mengenal pasti ancaman keselamatan yang berpotensi.
Penyelidikan Rangkaian
Kenal pasti masalah sambungan rangkaian, dan sahkan lokasi geografi pelayan atau nod CDN.
Penentuan Lokasi Geografi
Menyediakan kandungan, bahasa, atau perkhidmatan yang disesuaikan berdasarkan IP pengguna (seperti penghantaran CDN).
Soalan Lazim
Adakah penentuan lokasi IP tepat?
Lokasi IP biasanya tepat hingga peringkat bandar, dengan ralat mungkin antara puluhan hingga ratusan kilometer. Tidak mungkin menentukan lokasi tepat seperti jalan atau nombor rumah melalui alamat IP.
Mengapa alamat IP saya berubah?
Kebanyakan broadband rumah menggunakan pengagihan IP dinamik (DHCP), di mana penyedia perkhidmatan akan menukar alamat IP anda secara berkala. Perusahaan atau pelayan biasanya menggunakan IP tetap (IP statik).
Bagaimana untuk menyembunyikan IP sebenar saya?
Anda boleh menggunakan VPN, pelayan proxy, atau rangkaian Tor untuk menyembunyikan IP sebenar. Namun, perhatikan bahawa perkhidmatan ini mungkin mempengaruhi kelajuan rangkaian dan akses ke beberapa laman web.
Mengapa saya mempunyai dua alamat IP?
Anda mungkin mempunyai alamat IPv4 dan IPv6 secara serentak. Rangkaian moden sedang berpindah dari IPv4 ke IPv6, dan banyak peranti menyokong kedua-dua protokol ini.
IPv4 vs IPv6: Mengapa Perlukan IPv6?
IPv4 (1981)
Format: 4 set nombor perpuluhan (contoh: 192.168.1.1)
Jumlah: Sekitar 4.3 bilion alamat (2³² = 4,294,967,296)
Masalah: Alamat hampir habis, telah habis diedarkan sejak 2011
Panjang: 32 bit
IPv6 (1998)
Format: 8 kumpulan nombor heksadesimal (contoh: 2001:0db8::1)
Jumlah keseluruhan: kira-kira 340 trilion trilion trilion alamat (2¹²⁸)
Kelebihan: Jumlah alamat hampir tanpa had, mencukupi untuk setiap butir pasir di Bumi
Panjang: 128 bit
Mengapa IPv4 tidak mencukupi?
- • Penduduk dunia 8 bilion, setiap orang mempunyai sekurang-kurangnya 2-3 peranti (fon, komputer, tablet)
- • Pertumbuhan pesat peranti IoT (rumah pintar, kereta, peranti yang boleh dipakai)
- • Perusahaan dan pusat data memerlukan banyak alamat IP
- • Pembahagian awal tidak sewajarnya (contoh: MIT memiliki 16 juta alamat IP)
Sektor Alamat IP Khas
Alamat Gelung (Loopback)
127.0.0.0/8 (127.0.0.1 - 127.255.255.255)
Digunakan untuk ujian tempatan, data tidak dihantar ke rangkaian, biasanya 127.0.0.1 mewakili localhost
Gunanya: Menguji perkhidmatan tempatan, mengembang dan mengesan ralat
Alamat Peribadi (Private)
- 10.0.0.0/8 (10.0.0.0 - 10.255.255.255) - Kelas A
- 172.16.0.0/12 (172.16.0.0 - 172.31.255.255) - Kelas B
- 192.168.0.0/16 (192.168.0.0 - 192.168.255.255) - Kelas C
Digunakan dalam rangkaian tempatan, tidak boleh mengakses internet secara langsung, perlu penukaran NAT
Gunanya: Rangkaian rumah, rangkaian korporat
Alamat APIPA
169.254.0.0/16
Alamat sementara yang diberikan secara automatik oleh sistem apabila pelayan DHCP tidak tersedia
Gunanya: Konfigurasi automatik (menunjukkan kegagalan konfigurasi rangkaian)
Alamat Multicast
224.0.0.0/4 (224.0.0.0 - 239.255.255.255)
Digunakan untuk komunikasi satu-ke-banyak, seperti siaran video, IPTV
Alamat yang Dikecualikan
- 0.0.0.0/8 - Mewakili "rangkaian ini"
- 255.255.255.255 - Alamat siaran
- 192.0.2.0/24 - Khusus untuk contoh dokumen
- 198.18.0.0/15 - Khusus untuk ujian asas
Pelayan DNS Awam Terbaik
Google DNS
8.8.8.8 / 8.8.4.4
2001:4860:4860::8888 / 2001:4860:4860::8844
Paling pantas dan paling stabil secara global, menyokong DNSSEC
Cloudflare DNS
1.1.1.1 / 1.0.0.1
2606:4700:4700::1111 / 2606:4700:4700::1001
Fokus pada privasi, sangat pantas, tanpa log
Quad9 DNS
9.9.9.9 / 149.112.112.112
Perlindungan keselamatan, blok laman web jahat
OpenDNS
208.67.222.222 / 208.67.220.220
Kawalan ibu bapa, penyaringan kandungan
DNS Kawasan Asia
- DNS Alibaba Cloud (China): 223.5.5.5 / 223.6.6.6
- DNSPod (China): 119.29.29.29
- 114 DNS (China): 114.114.114.114
Fakta Menarik tentang IP
💰 Sekatan IP Paling Mahal
Sekatan 1.0.0.0/8 pernah dibeli oleh APNIC dengan harga jutaan dolar untuk tujuan penyelidikan. Beberapa IP "cantik" (seperti 8.8.8.8, 1.1.1.1) mempunyai nilai tinggi; Cloudflare menghabiskan banyak wang untuk membeli 1.1.1.1 daripada syarikat telekomunikasi.
📍 Mengapa IP yang sama menunjukkan lokasi yang berbeza?
- • Basis data lokasi IP berbeza (sumber data API berbeza)
- • IP dinamik berubah (pengagihan semula oleh penyedia)
- • VPN/penyedia proxy (menunjukkan lokasi penyedia proxy)
- • Node CDN (menunjukkan lokasi server CDN terdekat)
- • Rangkaian mudah alih (lokasi stesen mungkin tidak tepat)
📊 Kadar Pengambilan IPv6
Sehingga 2024, kadar pengambilan IPv6 global sekitar 40%, dengan India, Amerika Syarikat, dan Jerman memimpin, manakala China sekitar 30%. Belgium adalah negara dengan kadar pengambilan IPv6 tertinggi di dunia, melebihi 60%.
🎂 IP Pertama
Pada 1 Januari 1983, internet secara rasmi mengadopsi protokol TCP/IP, dan IP pertama dilahirkan. Leonard Kleinrock dari BBN Technologies dianggap sebagai orang pertama yang menggunakan IP.
🗑️ Pengagihan IP yang Tidak Adil
Pada awalnya, pengagihan IP sangat murah hati: MIT (sebuah universiti) memiliki 16 juta IP (seluruh 18.0.0.0/8), dan Apple memiliki 16 juta IP (17.0.0.0/8). Sementara itu, keseluruhan China hanya mendapat sekitar 330 juta IP untuk melayani hampir 1 miliar pengguna internet—dengan anggapan 2 peranti setiap orang, diperlukan sekurang-kurangnya 2 miliar IP. Ketidakseimbangan ini menyebabkan China terpaksa menggunakan teknologi NAT secara meluas untuk berkongsi IP.
🚫 Senarai Hitam IP
Terdapat beberapa pangkalan data senarai hitam IP global (seperti Spamhaus) yang digunakan untuk menandakan IP sumber spam, perisian jahat, serangan DDoS, dsb. Apabila satu IP dimasukkan ke dalam senarai hitam, ia boleh menyebabkan e-mel ditolak atau laman web diblokir.
🤯 Kes Aneh Lokasi IP
Sebuah rumah biasa di Kansas, Amerika Syarikat, secara tidak sengaja ditetapkan sebagai lokasi lalai oleh pangkalan data IP MaxMind (koordinat 38°U 97°B, pusat geografi Amerika), menyebabkan jutaan IP yang tidak dapat dikenal pasti dengan tepat diarahkan ke sana. Keluarga ini secara tidak sengaja menjadi "pusat peringkat nasional hacker Amerika", menerima ratusan panggilan telefon dan kunjungan dari FBI, polis, penagih hutang, dan mangsa penipuan—bahkan ada yang memaksa masuk pada waktu malam. Pada tahun 2016, keluarga ini menggugat MaxMind ke mahkamah dan berjaya mendapat ganti rugi.
💸 Alamat IPv4 Boleh Dijual Beli
Akibat kehabisan alamat IPv4, alamat IP kini menjadi komoditi yang boleh diperdagangkan. Harga pasaran gelap boleh mencapai 40 dolar AS per alamat. Pada tahun 2011, Microsoft membeli 666,000 alamat IP dari syarikat bangkrut Nortel sebanyak 7.5 juta dolar AS, bermakna purata 11.25 dolar AS per alamat. Pada tahun 2014, raksasa teknologi seperti Amazon dan Microsoft berlumba-lumba membeli alamat IPv4, menyebabkan harganya melonjak tajam.
🤦 "Kesilapan" Perekabentuk IPv4
Pada tahun 1981, perekabentuk IPv4 percaya bahawa "4.2 bilion alamat cukup untuk seluruh umat manusia seumur hidup". Mereka tidak menyangka internet akan berkembang sebesar ini: 8 bilion penduduk dunia, setiap orang mempunyai sekurang-kurangnya 2–3 peranti, ditambah dengan ledakan peranti IoT. Sekiranya pada mulanya direka sebagai 64-bit atau 128-bit, kita tidak akan menghadapi masalah kehabisan alamat seperti sekarang.
🏠 Rahsia 127.0.0.1
127.0.0.1 (localhost) bukan sahaja satu alamat—keseluruhan julat 127.0.0.0/8 (sekitar 16 juta alamat) adalah alamat gelung balik. Anda boleh ping sebarang alamat seperti 127.0.0.2, 127.1.2.3, dan semuanya akan mengarah ke mesin anda sendiri.
⏰ Jalur Masa Kehabisan IPv4
Pada 3 Februari 2011, IANA mengagihkan blok IPv4 terakhir. Pada 15 April 2011, kawasan Asia-Pasifik (APNIC) kehabisan. Pada September 2012, Eropah (RIPE NCC) kehabisan. Pada September 2015, Amerika Utara (ARIN) kehabisan.
📏 Alamat IP Paling Panjang
Alamat IPv6 boleh ditulis sehingga 39 aksara (8 kumpulan, setiap kumpulan 4 nombor heksadesimal, ditambah 7 tanda titik dua). Namun, dengan peraturan pemendekan, ia boleh dipendekkan secara signifikan, seperti ::1 yang mewakili alamat gelung IPv6.
🚀 Alamat IP tidak berkaitan dengan kelajuan rangkaian
Ramai orang salah faham bahawa menukar alamat IP boleh meningkatkan kelajuan rangkaian, tetapi sebenarnya alamat IP hanyalah "nombor rumah" dalam rangkaian. Kelajuan bergantung kepada bandwidth, penerusan, dan pelayan, bukan pada alamat IP itu sendiri.
Ciri-ciri dan Kelebihan serta Kekurangan IPv6
Kelebihan
- ✓ Ruang alamat yang besar: 2¹²⁸ alamat, hampir tanpa had
- ✓ Penerusan yang disederhanakan: struktur alamat berhierarki, jadual penerusan lebih kecil
- ✓ Konfigurasi automatik: menyokong SLAAC, tanpa perlu DHCP
- ✓ Keselamatan yang lebih baik: menyokong IPsec secara bawaan
- ✓ QoS yang lebih baik: medan label aliran, mengoptimumkan aplikasi masa nyata
- ✓ Tiada NAT: setiap peranti mempunyai alamat IP awam
- ✓ Sokongan pergerakan: sokongan yang lebih baik untuk peranti mudah alih
Kekurangan
- ⚠ Masalah kompatibiliti: memerlukan penyokongan daripada peranti dan rangkaian
- ⚠ Kos pembelajaran: format alamat kompleks dan sukar diingati
- ⚠ Kos peralihan: perlu mengemas kini peranti dan perisian
- ⚠ Pengoperasian dwi-stak: pada tempoh peralihan, perlu menyokong IPv4 dan IPv6 serentak
Perkhidmatan Penyiasatan Maklumat IP Berkaitan
Alat ini menggunakan API berikut untuk menyediakan perkhidmatan, serta mencadangkan perkhidmatan penyiasatan IP lain yang cemerlang:
IP-API.com
Alat ini menggunakan ⭐Alat ini menggunakan API utama. Sepenuhnya percuma (untuk penggunaan bukan komersial), menyokong carian berbilang, dan menyediakan format JSON/XML/CSV. Had: 45 kali/minit.
IPapi.co
Alat ini menggunakan ⭐API alternatif untuk alat ini. Menyediakan maklumat tambahan seperti mata wang, bahasa, dan jenis sambungan. Versi percuma: 30,000 permintaan sebulan.
IPInfo.io
Data tepat, API mesraMenyediakan maklumat IP terperinci, data ASN, lokasi geografi, dan maklumat syarikat. Menyediakan pelan percuma (Free Plan).
IPGeolocation.io
Fungsi pelbagaiMenyediakan maklumat lokasi IP, zon masa, mata wang, dan cuaca. Versi percuma: 30,000 permintaan sebulan.
MaxMind GeoIP2
Paling tepat, peringkat perniagaanBasis data lokasi IP piawaian industri dengan ketepatan tinggi. Menyediakan pangkalan data luar talian dan API dalam talian.
IPStack
Pengesanan keselamatanMenyokong IPv4 dan IPv6, serta modul keselamatan (mengesan proxy, VPN, Tor). Versi percuma: 100 permintaan sebulan.
IPData.co
Maklumat ancamanMenyediakan maklumat ancaman, data ASN, dan maklumat syarikat. Versi percuma: 1,500 permintaan sehari.
Abstract API
Mudah digunakanAPI lokasi IP yang mudah digunakan. Versi percuma: 1,000 permintaan sebulan, had 1 kali/saat.
IPRegistry
Dapatkan 100,000 permintaan percuma selepas pendaftaranMenyediakan lokasi IP, maklumat syarikat, pengesanan ancaman, dan penyelesaian proxy pengguna. Dapatkan 100,000 permintaan percuma selepas pendaftaran.
DB-IP
Pangkalan data sumber terbukaMenyediakan muat turun pangkalan data lokasi IP percuma, serta perkhidmatan soal jawab dalam talian.
IPify
Dapatkan IP AwamFokus pada mendapatkan alamat IP awam, ringkas dan pantas, sepenuhnya percuma.
Bagaimana untuk mendapatkan alamat IP melalui pengaturcaraan?
Berikut adalah contoh kod untuk mendapatkan alamat IP pengguna dalam pelbagai bahasa pengaturcaraan:
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)
}
注意事项:
- • Perhatian: Jika laman web menggunakan CDN (seperti Cloudflare) atau proxy songsang (seperti Nginx), anda perlu mendapatkan IP sebenar daripada header HTTP tertentu
- • Keprihatinan: CF-Connecting-IP > X-Forwarded-For > X-Real-IP > RemoteAddr
- • X-Forwarded-For mungkin mengandungi beberapa alamat IP (dipisahkan dengan tanda koma), alamat pertama adalah IP sebenar klien
- • JavaScript di sisi pelayar tidak boleh mendapatkan IP secara langsung; anda perlu memanggil API pihak ketiga