IP-információ lekérdezése
IP-cím geográfiai helye, ISP, ASN és egyéb részletes információk lekérdezése
Adatvédelem és biztonság
Amikor ezt az eszközt használja IP-információk lekérdezésére, vegye figyelembe a következőket:
- ℹ️ A lekérdezési kérések harmadik féltől származó API-khoz kerülnek küldésre; mi nem tároljuk a lekérdezési előzményeit
- ℹ️ Az IP-helymeghatározás általában város szintű pontossággal ad eredményt, nem lehet pontosan meghatározni a konkrét címet
- ℹ️ A legtöbb otthoni szélessávos kapcsolat dinamikus IP-címet használ, ezért az IP-címe rendszeresen változhat
- ℹ️ Ha VPN-t vagy proxyt használ, a lekérdezési eredmény a proxy kiszolgáló adatait fogja mutatni
Használati esetek
Biztonsági ellenőrzés
Gyanús IP-címek forrásának ellenőrzése a hozzáférési naplókban, potenciális biztonsági fenyegetések azonosítása.
Hálózati hibakeresés
Hálózati kapcsolati problémák diagnosztizálása, a kiszolgáló vagy CDN-csomópont földrajzi helyének megerősítése.
Földrajzi helymeghatározás
Felhasználó IP-címe alapján helyi tartalom, nyelv vagy szolgáltatás (pl. CDN-elosztás) nyújtása.
Gyakran ismételt kérdések
Pontos az IP-cím helymeghatározása?
Az IP-helymeghatározás általában város szintű pontossággal rendelkezik, hibája akár több tíz, akár száz kilométer is lehet. Nem lehetséges IP-cím alapján pontos utcán vagy házszámon belüli helyet meghatározni.
Miért változik az IP-címem?
A legtöbb otthoni szélessávú kapcsolat dinamikus IP-cím-kiosztást (DHCP) használ, és a szolgáltató rendszeresen változtatja az IP-címet. Vállalati vagy szerveres kapcsolatok általában statikus IP-címet (fix IP) használnak.
Hogyan rejthessem el az igazi IP-címem?
Használhat VPN-t, proxy-kiszolgálót vagy a Tor hálózatot az igazi IP-cím elrejtésére. Figyeljen arra, hogy ezek a szolgáltatások csökkenthetik a hálózati sebességet, illetve korlátozhatják bizonyos weboldalak elérését.
Miért van két IP-címem?
Lehetséges, hogy egyszerre rendelkezik IPv4 és IPv6 címmel. A modern hálózatok átmennek az IPv4-ről az IPv6-ra, és sok eszköz egyszerre támogatja mindkét protokollt.
IPv4 vs IPv6: Miért van szükség IPv6-ra?
IPv4 (1981)
Formátum: 4 darab decimális szám (pl. 192.168.1.1)
Összesen: kb. 4,3 milliárd cím (2³² = 4.294.967.296)
Probléma: A címek majdnem kimerültek, 2011-ben már kiosztották az összeset
Hossz: 32 bit
IPv6 (1998)
Formát: 8 darab hexadecimális szám (pl. 2001:0db8::1)
Összesen: kb. 340 trillió trillió cím (2¹²⁸)
Előny: Szinte végtelen számú cím, elég minden homokszemre a Földön
Hossz: 128 bit
Miért nem elég az IPv4?
- • A világ populációja 8 milliárd, mindenki legalább 2-3 eszközt használ (mobil, számítógép, tablet)
- • Az IoT eszközök robbanásszerű növekedése (okotthon, autók, hordozható eszközök)
- • Vállalatoknak és adatközpontoknak nagy számú IP-címre van szükségük
- • Korai, nem igazságos kiosztás (pl. a MIT 16 millió IP-címet kapott)
Speciális IP-címtartományok
Visszahurok cím (Loopback)
127.0.0.0/8 (127.0.0.1 - 127.255.255.255)
Helyi teszteléshez használják, az adatok nem kerülnek a hálózatra, gyakori használat: 127.0.0.1 a localhost jelölésére
Használat: Helyi szolgáltatások tesztelése, fejlesztési hibakeresés
Privát címek (Private)
- 10.0.0.0/8 (10.0.0.0 - 10.255.255.255) - A osztály
- 172.16.0.0/12 (172.16.0.0 - 172.31.255.255) - B osztály
- 192.168.0.0/16 (192.168.0.0 - 192.168.255.255) - C osztály
Helyi hálózatok belső használatára, nem lehet közvetlenül hozzáférni az internethez, NAT átalakítás szükséges
Használat: Háztartási hálózat, vállalati belső hálózat
APIPA cím
169.254.0.0/16
Amikor a DHCP-kiszolgáló nem elérhető, a rendszer automatikusan kiosztott ideiglenes cím
Használat: Automatikus konfiguráció (hálózati konfigurációs hiba jele)
Többcímzés (Multicast)
224.0.0.0/4 (224.0.0.0 - 239.255.255.255)
Egy-több kommunikációhoz használják, például videóadás, IPTV
Fenntartott címek
- 0.0.0.0/8 - jelöli a "helyi hálózatot"
- 255.255.255.255 - broadcast cím
- 192.0.2.0/24 - dokumentációs példákhoz
- 198.18.0.0/15 - alapvizsgálatokhoz
Legjobb nyilvános DNS-kiszolgálók
Google DNS
8.8.8.8 / 8.8.4.4
2001:4860:4860::8888 / 2001:4860:4860::8844
A világ leggyorsabb és legstabilabb, támogatja a DNSSEC-et
Cloudflare DNS
1.1.1.1 / 1.0.0.1
2606:4700:4700::1111 / 2606:4700:4700::1001
Adatvédelem, extremálisan gyors, nincs naplózás
Quad9 DNS
9.9.9.9 / 149.112.112.112
Biztonsági védelem, rosszindulatú weboldalak blokkolása
OpenDNS
208.67.222.222 / 208.67.220.220
Szülői vezérlés, tartalom szűrés
Ázsiai DNS
- Alibaba Cloud DNS (Kína): 223.5.5.5 / 223.6.6.6
- DNSPod (Kína): 119.29.29.29
- 114 DNS (Kína): 114.114.114.114
Érdekes IP-tudnivalók
💰 A legdrágább IP-cím blokkok
Az 1.0.0.0/8 blokkot az APNIC több millió dollárért vásárolta meg kutatási célokra. Bizonyos „kedvelt” IP-címek (például a 8.8.8.8 vagy az 1.1.1.1) rendkívül értékesek; a Cloudflare hatalmas összeget költött a 1.1.1.1 IP-cím beszerzésére egy telekommunikációs cég felől.
📍 Miért mutatja más-más helyet ugyanaz az IP-cím?
- • Különböző IP-helymeghatározó adatbázisok (különböző API-források)
- • Dinamikus IP-címek változnak (szolgáltató újraosztályozása)
- • VPN/Proxy kiszolgálók (a proxy kiszolgáló helyét mutatják)
- • CDN csomópontok (a legközelebbi CDN-kiszolgáló helyét mutatják)
- • Mobil hálózatok (az állomás helye nem mindig pontos)
📊 IPv6-összefogás
2024-ig a világszintű IPv6-összefogás kb. 40%. Az India, az Egyesült Államok és Németország vezet, Kína kb. 30%. Belgium a világ legmagasabb IPv6-összefogású országa, több mint 60%-kal.
🎂 Az első IP-cím
1983. január 1-jén az internet hivatalosan elkezdte használni a TCP/IP protokollt, és ekkor született az első IP-cím. Leonard Kleinrock, a BBN Technologiesnél dolgozó, az elsőként IP-címet használó embernek számít.
🗑️ Az IP-címek kiosztásának nem megfelelő elosztása
Az első időkben az IP-címek kiosztása nagyon szabadalkú volt: a MIT (egyetem) 16 millió IP-címet kapott (az egész 18.0.0.0/8 blokkot), az Apple is 16 millió IP-címet (17.0.0.0/8). Ugyanakkor egész Kína csak kb. 330 millió IP-címet kapott, amivel több mint 1 milliárd internetes felhasználót kell kiszolgálnia – ha minden felhasználó 2 eszközt használ, legalább 2 milliárd IP-címre lenne szükség. Ez az elosztási egyenlőtlenség miatt Kína nagy mértékben használja a NAT technológiát az IP-címek megosztására.
🚫 IP-feketelista
A világon több IP-feketelista-adatbázis is létezik (például a Spamhaus), amelyek olyan IP-címeket jelölnek meg, amelyek spamüzeneteket, rosszindulatú szoftvereket vagy DDoS-támadásokat bocsátanak ki. Ha egy IP-címet besorolnak a feketelistára, az e-mail visszautasításához vagy weboldal blokkolásához vezethet.
🤯 Az IP-helymeghatározás különös esete
Egy átlagos család Kansas államban azért vált híressé, mert a MaxMind cég IP-adatbázisa alapértelmezett helyként a 38°N 97°W koordinátákat (az Egyesült Államok földrajzi középpontja) használta. Ennek következtében milliók számú nem pontosan meghatározható IP-cím erre a helyre mutatott. A család véletlenül az "egész Amerika hakerhelyévé" vált, és számtalan FBI-ügynök, rendőr, követelő, illetve csalás áldozata hívta fel vagy látogatta meg őket – sőt, néhányan éjjel törtek be a házukba. 2016-ban a család perbe fogta a MaxMindet, és végül kártérítést kapott.
💸 Az IPv4-címek kereskedhetők
Az IPv4-címek kimerülése miatt az IP-címek kereskedelmi termékké váltak. A sötét piacon akár 40 dollár is lehet egy cím ára. 2011-ben a Microsoft 7,5 millió dollárt fizetett a csődeljárás alatt álló Nortel cégtől 666 000 IP-címért – ez kb. 11,25 dollárt jelentett egy címre. 2014-ben a Amazon, a Microsoft és más technológiai óriások狂热地竞购 IPv4-címeket, amelyek ára egy időben számtalan százalékkal emelkedett.
🤦 Az IPv4 tervezőinek "hibája"
1981-ben az IPv4 tervezői úgy gondolták: "4,2 milliárd cím – az emberiség élete során soha nem fogy el". Teljesen nem számítottak arra, hogy az internet ma milyen méretűre nő: 8 milliárd ember, akik mindegyike legalább 2-3 eszközt használ, és az IoT-eszközök robbanásszerű növekedése. Ha eredetileg 64 vagy 128 bit-es címtér lett volna kialakítva, ma nem állnánk szemben a címkiégés problémájával.
🏠 Az 127.0.0.1 titka
Az 127.0.0.1 (localhost) nemcsak egy egyszerű cím – az egész 127.0.0.0/8 tartomány (kb. 16 millió cím) visszahurok-cím. Bármit is írhatsz be, például 127.0.0.2-t vagy 127.1.2.3-at, mindig a saját gépedre fog mutatni.
⏰ Az IPv4-címek kimerülésének idővonalja
2011. február 3-án az IANA kiosztotta az utolsó IPv4-címtartományt. 2011. április 15-én az Asia-Pacific régió (APNIC) kimerült. 2012. szeptemberben Európa (RIPE NCC) kimerült. 2015. szeptemberben Észak-Amerika (ARIN) kimerült.
📏 A leghosszabb IP-cím
Az IPv6 cím legfeljebb 39 karakter hosszú lehet (8 csoport, mindegyik 4 hexadecimális számjegy, 7 kettősponttal elválasztva). Azonban a rövidítési szabályok segítségével jelentősen le lehet rövidíteni, például a ::1 az IPv6 loopback cím.
🚀 Az IP-cím nem határozza meg a sebességet
Sokan úgy gondolják, hogy az IP-cím megváltoztatása növeli a hálózati sebességet, de valójában az IP-cím csak egy "cím" a hálózaton; a sebességet a sávszélesség, az útválasztás és a kiszolgálók határozzák meg, nem az IP-cím maga.
Az IPv6 jellemzői és előnyei-hátrányai
Előnyök
- ✓ Hatalmas címtér: 2¹²⁸ cím, szinte végtelen
- ✓ Egyszerűbb útválasztás: hierarchikus címszerkezet, kisebb útválasztó táblák
- ✓ Automatikus konfiguráció: támogatja a SLAAC-t, DHCP nélkül
- ✓ Jobb biztonság: beépített IPsec támogatás
- ✓ Jobb QoS: folyamjelölő mező, optimalizálja a valós idejű alkalmazásokat
- ✓ Nincs szükség NAT-ra: minden eszköznek van nyilvános IP-címe
- ✓ Mobilitás támogatás: jobb mobildesztkák támogatása
Hátrányok
- ⚠ Kompatibilitási problémák: eszközök és hálózatok támogatása szükséges
- ⚠ Tanulási költség: bonyolult címformátum, nehéz megjegyezni
- ⚠ Átmeneti költség: eszközök és szoftverek frissítése szükséges
- ⚠ Dupla verem működés: az átmeneti időszakban egyszerre támogatni kell az IPv4-et és az IPv6-t
Kapcsolódó IP-információ-lekérdező szolgáltatások
Ez az eszköz a következő API-kat használja a szolgáltatásokhoz, és ajánlja a következő kiváló IP-lekérdező szolgáltatásokat is:
IP-API.com
Ez az eszköz használja: ⭐Ez az eszköz főleg ezt az API-t használja. Teljesen ingyenes (nem kereskedelmi célra), támogatja a kötegelt lekérdezéseket, és JSON/XML/CSV formátumban ad eredményt. Korlátozás: 45 kérés/perc.
IPapi.co
Ez az eszköz használja: ⭐Ez az eszköz biztonsági másodlagos API-ja. További információkat biztosít, mint például a pénznem, nyelv, kapcsolattípus stb. A ingyenes verzió 30 000 kérést engedélyez havonta.
IPInfo.io
Pontos adatok, baráti APIRészletes IP-információkat, ASN-adatokat, földrajzi helyet, céginformációkat stb. kínál. Ingyenes terv (Free Plan) elérhető.
IPGeolocation.io
Gazdag funkciókIP-földrajzi helyet, időzónát, pénznemet, időjárási adatokat stb. kínál. A ingyenes verzió 30 000 kérést engedélyez havonta.
MaxMind GeoIP2
Legpontosabb, vállalati szintűAz ipari szabvány IP-földrajzi adatbázis, magas pontossággal. Elérhető offline adatbázis és online API formájában.
IPStack
Biztonsági észlelésTámogatja az IPv4-et és az IPv6-t, valamint biztonsági modult (proxy, VPN, Tor észlelése). A ingyenes verzió 100 kérést engedélyez havonta.
IPData.co
Fenyegetési információKínál fenyegetési információkat, ASN-adatokat és céginformációkat. A ingyenes verzió 1 500 kérést engedélyez naponta.
Abstract API
Egyszerű használatEgyszerűen használható IP-földrajzi hely API. A ingyenes verzió 1 000 kérést engedélyez havonta, 1 kérés/mp korlátozással.
IPRegistry
Regisztráció után 100 000 kérésIP-földrajzi helyet, céginformációkat, fenyegetés-észlelést és proxy-felhasználói felismerést kínál. Regisztráció után 100 000 ingyenes kérés ajándékba adva.
DB-IP
Nyílt forráskódú adatbázisIngyenes IP-helymeghatározási adatbázis letöltése és online lekérdezés is elérhető.
IPify
Nyilvános IP-cím lekérdezéseKizárólag a nyilvános IP-cím lekérdezésére specializálódott, egyszerű, gyors és teljesen ingyenes.
Hogyan kaphatok meg IP-címet programozás útján?
Az alábbiakban láthatók példák IP-cím lekérdezésére különböző programozási nyelveken:
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)
}
注意事项:
- • Megjegyzés: Ha a weboldal CDN-t (pl. Cloudflare) vagy fordított proxy-t (pl. Nginx) használ, az igazi IP-címet egy adott HTTP-fejlécből kell lekérni.
- • Prioritás: CF-Connecting-IP > X-Forwarded-For > X-Real-IP > RemoteAddr
- • Az X-Forwarded-For több IP-címet is tartalmazhat (vesszővel elválasztva); az első a kliens valódi IP-címe.
- • A böngészőoldali JavaScript nem tud közvetlenül IP-címet lekérni; harmadik féltől származó API-t kell hívni.