Przejdź do treści
Toova
Wszystkie narzędzia

Konwerter IPv4 ↔ IPv6

Prywatne z założenia — działa w całości w Państwa przeglądarce

Zmień kierunek i wklej IPv4 typu 192.0.2.1, aby zobaczyć IPv6 w postaci IPv4-mapped (::ffff:192.0.2.1), expanded i IPv4-compatible. Przełącz w IPv6 → IPv4, aby wyciągnąć osadzony IPv4 z adresu mapped lub zobaczyć formę compressed i expanded dowolnego IPv6.

Trzy sposoby reprezentowania IPv4 wewnątrz IPv6

RFC 4291 definiuje dwa sposoby umieszczenia IPv4 wewnątrz IPv6. Obecny to IPv4-mapped: ::ffff:a.b.c.d. Starszy to IPv4-compatible: ::a.b.c.d — przestarzały w nowym kodzie, ale wciąż widoczny w dawnych dokumentach i niektórych legacy stosach. Narzędzie zwraca również pełną formę expanded (osiem 16-bitowych grup hex, bez skrótów), użyteczną przy grep w logach i porównaniu bajt-po-bajcie.

Notacja compressed vs expanded

IPv6 pozwala stosować skrót: najdłuższą ciągłą sekwencję 16-bitowych grup zerowych zastępujesz pojedynczym ::. 2001:db8:0:0:0:0:0:1 staje się 2001:db8::1. :: może wystąpić w adresie tylko raz. RFC 5952 ustala reguły — hex małymi literami, ścinaj tylko najdłuższą serię, usuwaj zera wiodące w każdej grupie. Formę compressed publikujesz; formę expanded oczekują narzędzia jak ipset czy BPF.

Dlaczego debugowanie dual-stack ma znaczenie

Gdy serwer nasłuchuje na gnieździe AF_INET6 z wyłączonym IPV6_V6ONLY, jądro pokazuje klientów IPv4 jako adresy ::ffff:. Logi aplikacji zapełniają się formą mapped i grep po listach IPv4 zaczyna chybiać. Przepuść je przez konwerter, aby znormalizować przed porównaniem — albo upewnić się, że tunel poprawnie dostarcza ruch 6to4.

Najczęściej zadawane pytania

Czym jest IPv6 mapowany z IPv4?
Mieszka w zakresie ::ffff:0:0/96 (RFC 4291). Gniazda dual-stack pokazują klientów IPv4 jako adresy mapped, dzięki czemu jeden bind obsługuje oba protokoły.
Dlaczego są dwa formaty zaczynające się od zer?
::a.b.c.d to forma IPv4-compatible, przestarzała wg RFC 4291. ::ffff:a.b.c.d to aktualna forma IPv4-mapped. Pokazujemy obie, ponieważ stare systemy nadal generują compatible.
Czy ::ffff:a.b.c.d jest przestarzała?
Nie — IPv4-mapped to dziś zalecany sposób reprezentowania endpointów IPv4 w kodzie dual-stack. Przestarzała jest forma IPv4-compatible (bez ffff).
Czy mogę wyciągnąć IPv4 z dowolnego IPv6?
Tylko wtedy, gdy IPv6 mieści się w zakresach mapped lub compatible. Dla zwykłego IPv6, np. 2001:db8::1, nie ma IPv4 do wyciągnięcia — narzędzie pokaże jedynie formę expanded i compressed.
Czym różni się :: od 0:0:0:0:0:0:0:0?
0:0:0:0:0:0:0:0 to jawny adres unspecified, a :: to ten sam adres w formie compressed — kanoniczna reprezentacja w IPv6.
Czy moje IP opuszcza stronę?
Nie. Konwersja działa w JavaScript w tej karcie, nie widzimy, nie logujemy i nie przechowujemy wpisanego adresu.