Konwerter IPv6 do IPv4
Konwertuj adresy IPv4 na IPv6-mapped i odwrotnie. Sprawdź typ adresu, zakres, prefix. Informacje o IPv6. Bezpłatnie.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Status
natywny IPv6 nie zawiera IPv4 — to poprawny wynik, nie błąd
Wyodrębniony IPv4
tylko mapped / NAT64 / 6to4 / Teredo mają IPv4 w środku
Typ adresu
metoda wykryta przez silnik (metadata z kodu)
Wejście IPv6
filter_var z flagą IPv6 + inet_pton — 16 bajtów
Tryb
auto próbuje mapped → compatible → 6to4 → teredo → nat64
203.0.113.25 Metoda: nat64-embedded Wejście: 64:ff9b::203.0.113.25 Uwaga: Odczytano ostatnie 32 bity jako IPv4 (prefiks NAT64 /96 pasuje).
| Adres IPv6 | Wyodrębniony IPv4 | Co przedstawia |
|---|---|---|
| ::ffff:192.168.1.1 | 192.168.1.1 | gniazda dual-stack: logi i API zapisują połączenie IPv4 jako ::ffff: |
| 64:ff9b::203.0.113.25 | 203.0.113.25 | NAT64 — klient tylko-IPv6 sięga serwera IPv4 przez translator |
| 2002:cb00:7119:: | 203.0.113.25 | 6to4 — publiczny IPv4 zakodowany zaraz po prefiksie 2002: |
| 2001:0000:4136:e378:8000:63bf:3fff:fdd2 | 192.0.2.45 | Teredo — klient w ostatnich 32 bitach, zanegowanych bit po bicie |
| 2001:db8::1 | — brak — | natywny IPv6 — NIE zawiera osadzonego IPv4, wyodrębnienie niemożliwe |
2002:cb00:7119:: to 203.0.113.25 zapisane szesnastkowo (203 = cb, 0 = 00, 113 = 71, 25 = 19). W Teredo ostatnie 4 bajty 3f:ff:fd:d2 silnik neguje — wychodzi 192.0.2.45.
| Metoda | Prefiks | IPv4? | Jak IPv4 siedzi w adresie |
|---|---|---|---|
| IPv4-mapped | ::ffff:0:0/96 | TAK | 80 zer + 0xffff, potem IPv4 w ostatnich 4 bajtach |
| IPv4-compatible | ::/96 (przestarzały) | TAK, rzadko | same zera + IPv4; dziś tylko w starych systemach, :: i ::1 pomijane |
| NAT64 (RFC 6052) | 64:ff9b::/96 albo własny | TAK | 96-bitowy prefiks + IPv4 w ostatnich 32 bitach |
| 6to4 (RFC 3056) | 2002::/16 | TAK | IPv4 w bitach 17–48, reszta adresu to identyfikator interfejsu |
| Teredo (RFC 4380) | 2001:0000::/32 | TAK (klient) | ostatnie 4 bajty zanegowane — silnik odwraca bity przed odczytem |
| Natywny IPv6 | brak (np. 2000::/3, 2001:db8::/32) | NIE | zwykły adres globalny bez osadzonego IPv4 — konwersja niemożliwa |
Niepoprawny tekst zamiast adresu kończy się komunikatem silnika („Nieprawidłowy adres IPv6.”), bez wyjątku — widać go w bloku wyniku.
Warto wiedzieć — IPv6, które kryje IPv4
Skąd się bierze ::ffff:
Serwer z gniazdem dual-stack (AF_INET6) przyjmuje też połączenia IPv4 — system operacyjny przedstawia je aplikacji jako ::ffff:a.b.c.d. Dlatego w logach nginx czy Postfiksa tak często widać ten prefiks: to zwykłe połączenie IPv4 widziane przez API IPv6.
NAT64 i DNS64
Sieci tylko-IPv6 (np. część sieci mobilnych) sięgają serwerów IPv4 przez translator NAT64 z prefiksem 64:ff9b::/96 — IPv4 klienta siedzi w ostatnich 32 bitach. Wyodrębnienie go z logu to szybki sposób, by zobaczyć, z jakim serwerem łączył się klient.
Nie każdy IPv6 zawiera IPv4
Zdecydowana większość dzisiejszych adresów to natywne IPv6 bez żadnego IPv4 w środku — dla nich odpowiedź „Nie wykryto osadzonego IPv4” jest poprawnym wynikiem, a nie błędem. Silnik nie „przelicza” adresu, tylko odczytuje bity według znanych schematów osadzania.
Przejściowe 6to4 i Teredo
6to4 (2002::/16) kodował publiczne IPv4 w routerach tunelowania — dziś wycofywany. Teredo (2001:0000::/32) tunelował UDP przez NAT i celowo negował bity klienta oraz portu, by ominąć firewalle — stąd odwracanie bitów przy odczycie. Oba to technologia historii przejścia na IPv6.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćKonwerter IPv6 na IPv4 – formaty adresów IP i konwersja
IPv4 i IPv6 to dwie wersje protokołu internetowego. IPv4 (32 bity) kończy się zasobami, IPv6 (128 bitów) rozwiązuje ten problem. Narzędzie konwertuje między formatami: IPv4-mapped IPv6, sprawdza typ adresu i wyjaśnia notację.
IPv6 – podstawy
IPv6: 128-bitowy adres. Format: 8 grup po 4 cyfry hex rozdzielone ":". 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Skrócenia: wiodące zera można pominąć: 0db8 → db8. Grupy samych zer: :: (raz). ::1 = 0:0:0:0:0:0:0:1 = loopback. :: = wszystkie zera. Zakres: 3.4×10^38 adresów.
IPv4-mapped IPv6
IPv4-mapped: ::ffff:IPv4. Np. ::ffff:192.168.1.1 = ::ffff:c0a8:0101. IPv4-compatible (deprecated): ::IPv4. Np. ::192.168.1.1. Dual-stack: system obsługuje oba protokoły. Konwersja: IPv4 192.168.1.1 → hex c0a8.0101 → ::ffff:c0a8:0101. NAT64: mechanizm translacji IPv6→IPv4.
Specjalne adresy IPv6
::1/128: loopback (jak 127.0.0.1). ::/128: unspecified. fc00::/7: Unique Local (jak 192.168.x.x). fe80::/10: link-local (autokonfiguracja, niedostępne przez router). 2001:db8::/32: dokumentacja (jak 192.0.2.0/24 w IPv4). ff00::/8: multicast. 2001::/32: Teredo (IPv6 przez IPv4/UDP). 2002::/16: 6to4 tunneling.
Stan adoptacji IPv6 w 2024
Google IPv6 statistics (2024): ok. 45-47% requestów przez IPv6. Polska: ok. 35% (niższy niż średnia UE). USA: ok. 50%. Niemcy: ok. 55%. Belgia: ~70% (lider). ISP support: Orange PL, T-Mobile PL: IPv6 dostępne. Hosting: Hetzner, AWS, GCP: pełne IPv6. Problem: wiele starych systemów i routerów nie obsługuje.
Mechanizm: prefiks 96 bitów i 32 bity adresu IPv4
Konwersja wykonywana przez narzędzie jest operacją na zapisie adresu, a nie na routingu. Punktem wyjścia jest różnica długości: IPv4 ma 32 bity, IPv6 ma 128 bitów. Adres IPv4-mapped IPv6 to konstrukcja, w której pierwsze 96 bitów jest zarezerwowane, a ostatnie 32 bity przechowują dokładnie ten sam adres IPv4. Z tych 96 bitów pierwsze 80 ma wartość zero, a kolejne 16 bitów ma wartość 0xffff, co w zapisie tekstowym daje prefiks ::ffff:.
Wzór jest prosty. Każdy oktet adresu IPv4 o wartości od 0 do 255 zapisujemy jako dwie cyfry szesnastkowe. Cztery oktety dają osiem cyfr hex, które dzielimy na dwa bloki po cztery cyfry — te dwa bloki stają się dwiema ostatnimi grupami adresu IPv6. Arytmetycznie: oktety a.b.c.d odpowiadają dwóm liczbom 16-bitowym (a*256 + b) oraz (c*256 + d), zapisanym w systemie szesnastkowym. Dlatego 192.0.2.1 daje c000 oraz 0201, a całość to ::ffff:c000:0201.
W drugą stronę narzędzie sprawdza najpierw, czy adres w ogóle da się zmapować: rozpoznaje prefiks IPv4-mapped, rozwija skrót :: do pełnych ośmiu grup, a następnie bierze dwie ostatnie grupy i zamienia każdą z nich na dwa oktety. Adresy bez tego prefiksu — na przykład z zakresu dokumentacyjnego 2001:db8::/32 albo link-local fe80::/10 — nie mają odpowiednika IPv4 i konwersja kończy się informacją zwrotną, a nie wynikiem.
Przykład: 203.0.113.7 na ::ffff:cb00:7107
- Rozbij adres IPv4 na cztery oktety: 203, 0, 113, 7.
- Zamień każdy oktet na dwie cyfry szesnastkowe: 203 → cb, 0 → 00, 113 → 71, 7 → 07. Wartości kontrolne: 203 = 12*16 + 11, 113 = 7*16 + 1.
- Sklej cyfry parami w dwa bloki po 16 bitów: cb + 00 daje cb00, 71 + 07 daje 7107.
- Dołóż prefiks IPv4-mapped, czyli 80 bitów zer i 16 bitów jedynek zapisanych jako ::ffff:.
- Wynik końcowy: ::ffff:cb00:7107. Zapis równoważny z pełnym rozwinięciem to 0000:0000:0000:0000:0000:ffff:cb00:7107.
- Sprawdź odwrotnie: z wyniku odczytaj dwie ostatnie grupy, cb00 rozbij na cb i 00 (203 i 0), a 7107 na 71 i 07 (113 i 7). Otrzymujesz 203.0.113.7, czyli adres wejściowy.
Tabela konwersji wybranych adresów IPv4
| Adres IPv4 | Oktety w hex | Zapis IPv4-mapped IPv6 |
|---|---|---|
| 0.0.0.0 | 00 00 00 00 | ::ffff:0000:0000 |
| 10.0.0.1 | 0a 00 00 01 | ::ffff:0a00:0001 |
| 127.0.0.1 | 7f 00 00 01 | ::ffff:7f00:0001 |
| 172.16.0.1 | ac 10 00 01 | ::ffff:ac10:0001 |
| 192.0.2.1 | c0 00 02 01 | ::ffff:c000:0201 |
| 198.51.100.1 | c6 33 64 01 | ::ffff:c633:6401 |
| 203.0.113.7 | cb 00 71 07 | ::ffff:cb00:7107 |
| 255.255.255.255 | ff ff ff ff | ::ffff:ffff:ffff |
Praktyczne wskazówki przy konwersji
- Zapisuj grupy czterocyfrowo przy weryfikacji — kontrola wyniku jest łatwiejsza, gdy nie skracasz wiodących zer: ::ffff:0a00:0001 zamiast ::ffff:a00:1.
- Skrót :: stosuj tylko raz — podwójny dwukropek może wystąpić w adresie tylko w jednym miejscu, inaczej zapis jest niejednoznaczny.
- Sprawdź prefiks przed konwersją — adresy z puli fc00::/7 (Unique Local) czy fe80::/10 (link-local) nie niosą adresu IPv4 i nie da się ich zmapować.
- Odróżniaj konwersję od translacji — NAT64 pozwala połączyć host IPv6 z zasobem IPv4, ale nie zmienia tekstowego zapisu adresu.
- Pamiętaj o kontekście systemu — zapis ::ffff:203.0.113.7 bywa spotykany w logach aplikacji działających na gniazdach dual-stack i nie oznacza, że klient faktycznie korzystał z IPv6.
Czego narzędzie nie sprawdza
- Tylko warstwa tekstowa — konwersja nie zmienia trasy pakietów ani nie włącza IPv6 na interfejsie. Adres zapisany jako IPv4-mapped nadal wymaga stosu obsługującego oba protokoły.
- Brak strefy i portu — adresy ze strefą interfejsu, na przykład fe80::1 z dopiskiem interfejsu, albo adresy z numerem portu w nawiasach kwadratowych, trzeba rozdzielić przed wklejeniem.
- Adresy specjalne bez odpowiednika — multicast ff00::/8, Teredo 2001::/32 czy 6to4 2002::/16 nie mapują się wprost na pojedynczy adres IPv4, mimo że część z nich technicznie korzysta z IPv4.
- Brak walidacji przydziału — narzędzie nie sprawdza, czy adres należy do puli publicznej, ani kto nim zarządza. Poprawny składniowo wynik nie oznacza, że adres jest osiągalny w internecie.
Najczęstsze pytania
Jak sprawdzić czy mój adres IP to IPv4 czy IPv6?
Wejdź na whatismyip.com lub ifconfig.me. IPv4: cztery liczby 0-255 z kropkami. IPv6: grupy hex z dwukropkami. Komenda: ipconfig (Windows), ip addr lub ifconfig (Linux). curl ifconfig.me z terminala. Lub to narzędzie.
Jak IPv6 jest przydzielany użytkownikom?
Prefix /56 lub /48 przez ISP → klient dostaje /64 lub wiele /64. SLAAC: Stateless Address Autoconfiguration (adres z prefix + MAC). DHCPv6: dynamiczne przydzielanie jak DHCP. Privacy extensions: losowe suffix (nie MAC) dla prywatności. Routery domowe: dostają /56 od ISP, dzielą na podsieci.
Czy IPv6 jest bezpieczniejszy niż IPv4?
IPSec: wbudowany w IPv6 spec (opcjonalny, jak w IPv4 praktycznie). NAT security: IPv4 NAT utrudniał bezpośredni dostęp z zewnątrz. IPv6 bez NAT: każde urządzenie ma publiczny IP = potencjalnie bezpośrednio osiągalne. Firewall: konieczny (bardziej niż w IPv4). Autoconfiguration: nowe ataki (RA spoofing). Podsumowanie: nie bezpieczniejszy per se – wymaga świadomej konfiguracji.
Jak skonfigurować IPv6 na serwerze?
Hetzner cloud: dodaj IPv6 przez panel, skonfiguruj /etc/network/interfaces. Nginx: listen [::]:80. Apache: Listen [::]:80. SSH: AllowAddressFamily any w sshd_config. Firewall (ufw): ufw allow in on eth0 from ::/0 to any port 80. Sprawdź: curl -6 http://twoja-strona.pl. Ping: ping6 ::1.
Jaka jest różnica między /64 a /128 w IPv6?
Prefix length: jak maska podsieci. /64: sieć lokalna (64 bity sieci + 64 bity host). /128: jeden adres (jak /32 w IPv4). Typowe przydziały: ISP → klient /56 lub /48. Klient routuje /64 per segment. Linki punkt-punkt: /127 (jak /31 IPv4). Loopback: ::1/128.
Jak ręcznie zamienić adres IPv4 na zapis IPv4-mapped IPv6?
Zamień każdy oktet na dwie cyfry szesnastkowe, sklej je w dwie grupy po cztery cyfry i dopisz na początku ::ffff:. Przykład: 203.0.113.7 daje cb00 i 7107, czyli ::ffff:cb00:7107.
Czy każdy adres IPv6 można zamienić na IPv4?
Nie. Na IPv4 mapują się wyłącznie adresy z prefiksem IPv4-mapped. Pozostałe, na przykład z zakresu dokumentacyjnego 2001:db8::/32 albo link-local fe80::/10, nie mają odpowiednika IPv4.
Dlaczego mój adres IPv4-mapped jest zapisany bez kropek?
To kwestia wygody notacji. Zamiast ::ffff:203.0.113.7 systemy często pokazują ::ffff:cb00:7107, a obie formy opisują ten sam adres. Zapis z kropkami pojawia się wtedy, gdy ostatnie 32 bity da się przedstawić jako oktety dziesiętne.
Czy konwerter obsługuje adresy prywatne, np. 10.0.0.1?
Tak, składniowo dowolny adres IPv4 z zakresu 0.0.0.0 do 255.255.255.255. 10.0.0.1 daje ::ffff:0a00:0001. Zakres prywatny nie wpływa na samą konwersję, bo ta dotyczy wyłącznie zapisu.
Co zrobić, gdy mam adres IPv6 bez prefiksu ::ffff:?
Najpierw ustal, do jakiego typu należy. Adresy globalne, link-local i Unique Local nie niosą adresu IPv4. Jeśli chcesz połączyć host IPv6 z zasobem IPv4, potrzebny jest mechanizm translacji, np. NAT64, a nie sama zmiana zapisu.
Powiązane narzedzia: konwerter dziesiętny IP, kalkulator podsieci i tester DNS.