Конвертер IPv6 в IPv4

Вставьте адрес IPv6, чтобы получить адрес IPv4 внутри него и увидеть, где стоят его 32 бита и какой формат их туда записал. В большинстве адресов IPv6 никакого IPv4 нет, и конвертер прямо об этом скажет.

Декодеры по RFC 4291, 6052, 3056, 4380 и 5214 · проверены на примерах из самих RFC · работает в вашем браузере

Прочитано как IPv6

Где IPv4 находится среди 128 битОтображённый IPv4
Примеры

Любая запись IPv6: со скобками, портом, %зоной или /префиксом. Преобразование идёт в вашем браузере, ничего не отправляется.

Внутри есть IPv4Отображённый IPv4Используется

203.0.113.5

::ffff:0:0/96 · RFC 4291

Видите это в журнале сервера? Посетитель пришёл по IPv4, с адреса 203.0.113.5: сервер с двойным стеком так записывает клиентов IPv4.

IPv4
Сжатая запись (RFC 5952)
Полная запись
IPv4 в виде числа
Десятичный · hex · двоичный
Имя для обратного DNS

Как перевести IPv6 в IPv4?

Перевести адрес IPv6 в IPv4 можно, только если адрес IPv4 уже записан внутри него: определите формат по первым битам адреса, возьмите 32 бита, которые этот формат отводит под IPv4, и прочитайте их как четыре десятичных числа.

Конвертер выполняет все три шага. В ::ffff:203.0.113.5 первые 96 бит — это префикс отображённых адресов IPv4 (IPv4-mapped) ::ffff:0:0/96 (RFC 4291), поэтому последние 32 бита и есть адрес IPv4: cb00:7105 в hex, то есть cb = 203, 00 = 0, 71 = 113 и 05 = 5.

Другие форматы хранят эти 32 бита в других местах: 6to4 — сразу после 2002:, собственный префикс NAT64 сети — вокруг пропущенного октета, Teredo — в инвертированном виде в конце. Лента в инструменте показывает, где они стоят в каждом введённом вами адресе.

1Прочитайте префикс::ffff:0:0/96 Префикс отображённых IPv4
2Возьмите 32 бита96–127 · cb00:7105
3Каждый байт в десятичном видеcb20300071113055203.0.113.5
Три шага на отображённом адресе из журнала сервера. Адрес для документации (RFC 5737).
Конвертер IPv6 в IPv4 разбирает адрес Teredo на адреса IPv4 сервера и клиентаКонвертер IPv6 в IPv4 разбирает адрес Teredo на адреса IPv4 сервера и клиентаОдно поле, любая записьСкобки, порты, зоны, префиксы, URL и обратные имена распознаются; строка под полем говорит, как именно.ПрефиксПервые биты называют формат, здесь 2001::/32 от Teredo из RFC 4380.Инвертированные биты, возвращённые обратноTeredo хранит порт и IPv4 клиента инвертированными; строка под ними — настоящее значение.Адрес IPv4Каждый выделенный байт в десятичном виде, а весь адрес — под скобкой.ВердиктЕсть ли IPv4 внутри, какой это формат, его статус сегодня и что это значит для вас.Все формы, готовые к копированиюСервер, порт, флаги, каноническая запись IPv6, полная форма и имя для обратного DNS.
Адрес Teredo по частям: сервер, флаги, порт и IPv4 клиента, оба последних хранятся инвертированными.

Содержит ли каждый адрес IPv6 адрес IPv4?

Нет. Обычный адрес IPv6 вообще не содержит адреса IPv4; встраивают его лишь несколько форматов, и каждый выдаёт себя известным префиксом или идентификатором интерфейса.

RFC 4291 предписывает программам не искать в адресе IPv6 структуру сверх той, что задаёт его префикс, так что инструмент, превращающий 2001:db8:85a3::8a2e:370:7334 в адрес IPv4, его выдумывает. Форматы, которые несут адрес IPv4, нарисованы здесь вместе с положением их 32 бит.

Сегодня распространены только два: отображённые адреса IPv4 внутри программ и адреса NAT64 в сетях только с IPv6. 6to4 и Teredo практически исчезли из реального трафика.

Где каждый формат хранит адрес IPv4 192.0.2.33, в масштабе: 32 шестнадцатеричные цифры по 4 бита.

Почему в журналах видны адреса ::ffff:?

Потому что ваш сервер слушает один сокет IPv6 для обоих протоколов, а операционная система показывает ему посетителей по IPv4 как отображённые адреса IPv4: ::ffff:203.0.113.5 — это посетитель по IPv4 203.0.113.5, а не по IPv6.

Это сокет с двойным стеком из RFC 3493. Отображённая форма существует только внутри программ: IANA помечает ::ffff:0:0/96 как непересылаемый и глобально недостижимый блок, поэтому ни один пакет в интернете её не несёт.

Чтобы сообщить о таком посетителе или заблокировать его, используйте обычный адрес IPv4. Инструменты выводят его по-разному: старый пакет net в Go показывает 203.0.113.5, а net/netip и Python 3.13 — ::ffff:203.0.113.5, так что один посетитель может встречаться в обоих видах.

Посетитель по IPv4203.0.113.5IPv4
Посетитель по IPv62001:db8::7IPv6
Ваш сервер[::]:443один сокет IPv6
access.log
::ffff:203.0.113.5 - - [24/Oct/2026:09:14:02 +0000] "GET / HTTP/1.1" 200
2001:db8::7 - - [24/Oct/2026:09:14:05 +0000] "GET / HTTP/2" 200
Один сокет, два семейства адресов: операционная система записывает посетителя по IPv4 как ::ffff:203.0.113.5.

Как NAT64 помещает адрес IPv4 внутрь IPv6?

Сеть NAT64 даёт каждому хосту IPv4 адрес IPv6, записывая его адрес IPv4 в префикс, по умолчанию 64:ff9b::/96, так что 192.0.2.33 становится 64:ff9b::c000:221.

В сети только с IPv6 DNS64 отвечает на запрос имени, у которого есть лишь A-запись, искусственной AAAA-записью, построенной таким способом, а транслятор превращает пакеты на этот адрес в IPv4. Устройства узнают префикс своей сети, запрашивая ipv4only.arpa.

Сеть может использовать собственный префикс длиной 32, 40, 48, 56, 64 или 96 бит (RFC 6052). Биты 64–71 при этом остаются нулевыми, поэтому при /40, /48 и /56 адрес IPv4 разделён этим октетом на две части. Сам адрес не говорит, какую длину выбрала сеть, поэтому инструмент её спрашивает. Общеизвестный префикс никогда не должен содержать частный адрес IPv4.

Примеры из самого RFC 6052 для 192.0.2.33: биты префикса белые, IPv4 зелёный, u-октет заштрихован.

Что такое адрес Teredo?

Адрес Teredo — это адрес IPv6 для компьютера за IPv4 NAT, туннелируемый через UDP; он содержит адрес IPv4 сервера Teredo и, в инвертированном виде, публичный адрес IPv4 и порт клиента.

В нём пять частей: префикс 2001::/32, адрес IPv4 сервера в битах 32–63, 16 бит флагов, порт UDP, который назначил NAT клиента, и публичный адрес IPv4 клиента, причём у двух последних каждый бит инвертирован (RFC 4380).

Начиная с RFC 5991, 12 из 16 бит флагов случайные, так что флаги, отличные от 0x8000, — это нормально. Teredo практически исчез из сегодняшнего интернета, но его адреса ещё хранятся в старых журналах и правилах межсетевых экранов.

Разбор 2001:0:c000:201:8000:63bf:34ff:8efa: сервер 192.0.2.1, флаг cone, порт 40000, клиент 203.0.113.5.

Что такое адреса 6to4 и ISATAP?

6to4 и ISATAP — ранние способы передавать IPv6 через сети IPv4, и оба записывают адрес IPv4 в адрес IPv6: 6to4 — сразу после 2002:, ISATAP — в идентификатор интерфейса после 5efe.

Префикс площадки 6to4 — это 2002:, за которым идёт её публичный адрес IPv4, так что адресу 192.0.2.33 принадлежал префикс 2002:c000:221::/48. RFC 7526 вывел из употребления anycast-ретрансляторы, благодаря которым 6to4 работал через интернет, но не сам формат.

ISATAP строит последние 64 бита из 0:5efe (или 200:5efe для публичного адреса IPv4), за которыми следует адрес IPv4, под любым префиксом /64.

Оба формата и то, как исчез их трафик (статистика IPv6 от Google).

Как узнать свой адрес IPv4, если у меня IPv6?

Проверьте его отдельно: ваши адреса IPv4 и IPv6 независимы друг от друга, адрес IPv6 не содержит IPv4, а «Мой IP-адрес» показывает оба рядом.

У подключения с двойным стеком есть адрес IPv4, часто общий через NAT провайдера, и префикс IPv6; каждый сайт видит вас по тому из них, который выбрал браузер. Конвертер помогает только с адресами во встроенных форматах, например с отображённым адресом в журнале.

В мобильной сети только с IPv6 трафик IPv4 ваших приложений идёт через 464XLAT провайдера, и адрес IPv4, который видят сайты, принадлежит транслятору провайдера.

Два адреса, две полосы: ни один из них нельзя вычислить по другому. Адреса для документации.

Как заставить компьютер использовать IPv4 вместо IPv6?

Не отключайте IPv6, а сделайте так, чтобы компьютер предпочитал IPv4: когда у имени есть адреса обоих типов, компьютер сначала пробует IPv6, но если поднять IPv4 в таблице выбора адресов, порядок изменится, а IPv6 продолжит работать.

Microsoft рекомендует именно это для Windows и предупреждает, что отключение IPv6 или снятие его привязки может нарушить работу частей Windows. На Mac в «Системных настройках» нет выключателя IPv6. В Linux хватает одной строки в /etc/gai.conf, хотя Chrome сортирует адреса сам.

Для одной команды большинство инструментов принимают -4. На вкладках — шаги для каждой системы, сверенные с документацией её разработчика.

Таблица выбора адресов

По умолчаниюПриоритет IPv4
IPv6 (::/0)4040
IPv4 (::ffff:0:0/96)35100

RFC 6724 §2.1, §10.3

В командной строке от имени администратора, затем перезагрузка:
› reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" /v DisabledComponents /t REG_DWORD /d 32 /f
Проверка: строка ::ffff:0:0/96 теперь выше ::/0
› netsh interface ipv6 show prefixpolicies
Только для одной команды:
› ping /4 example.com
› tracert /4 example.com
В «Системных настройках» нет выключателя IPv6; так он отключается для одной службы:
› networksetup -listallnetworkservices
› networksetup -setv6off "Wi-Fi"
Отмена:
› networksetup -setv6automatic "Wi-Fi"
ping на Mac и так работает только по IPv4 (ping -4 — ошибка).
Добавьте в /etc/gai.conf и скопируйте туда же остальные строки glibc по умолчанию: одна строка precedence заменяет всю таблицу.
› precedence ::ffff:0:0/96 100
Только для одной команды:
› ping -4 example.com
Chrome может не учитывать gai.conf: он сортирует адреса сам.
В about:config:
› network.dns.disableIPv6 = true
В Chrome такой настройки нет; в Windows он следует приоритету системы.
› curl -4 https://example.com
› wget -4 https://example.com
› ssh -4 user@example.com
› nslookup -type=A example.com
dig -4 меняет только то, как dig обращается к DNS-серверу: запрашивайте A-записи.
› dig A example.com
Приоритет IPv4 без отключения IPv6: таблица выбора адресов, затем шаги для каждой системы по документации её разработчика.

Частые вопросы

Можно ли любой адрес IPv6 перевести в IPv4?

Нет. Адрес IPv6 можно превратить в IPv4, только если в него был записан адрес IPv4, как в отображённых адресах IPv4 и в форматах NAT64, 6to4, Teredo и ISATAP. Обычный адрес вроде 2001:db8:85a3::8a2e:370:7334 не содержит IPv4, и любой инструмент, который выдаёт для него адрес IPv4, его выдумывает. Чтобы узнать адрес IPv4 сайта, найдите его A-запись.

Какой адрес IPv4 записан в ::ffff:192.0.2.1?

192.0.2.1. Префикс ::ffff:0:0/96 обозначает отображённый адрес IPv4: 80 нулевых бит, 16 единичных, затем адрес IPv4 в последних 32 битах. В hex тот же адрес записывается как ::ffff:c000:201, потому что c0 — это 192, 00 — 0, 02 — 2, а 01 — 1. Так программы показывают собеседников по IPv4, когда используют один сокет IPv6 для обоих протоколов.

Как перевести адрес 64:ff9b:: в IPv4?

Возьмите последние 32 бита. 64:ff9b::/96 — общеизвестный префикс NAT64, так что 64:ff9b::c000:221 — это хост IPv4 192.0.2.33, он же 64:ff9b::192.0.2.33. Такие адреса встречаются в сетях только с IPv6, где DNS64 строит их из A-записи хоста, а транслятор NAT64 передаёт трафик в IPv4. Этот префикс никогда не должен содержать частный адрес IPv4.

Почему конвертер спрашивает длину префикса NAT64 моей сети?

Потому что сеть может использовать собственный префикс NAT64 длиной 32, 40, 48, 56, 64 или 96 бит, и положение адреса IPv4 зависит от этой длины. Например, при /48 адрес IPv4 разделён битами 64–71, которые всегда нулевые. По самому адресу длину не узнать, а для блока 64:ff9b:1::/48 RFC 8215 запрещает её угадывать, поэтому инструмент показывает все варианты.

Что такое IPv4-совместимый адрес IPv6?

Это старый формат ::/96, в котором адрес IPv4 стоял в последних 32 битах после 96 нулевых, например ::192.0.2.1. RFC 4291 объявил его устаревшим, и современные механизмы перехода его не используют, поэтому встречается он в основном в старых конфигурациях и выгрузках межсетевых экранов. Конвертер по-прежнему его читает и помечает как устаревший, но никогда не считает :: или ::1 адресами IPv4.

Как получить адрес IPv4 из адреса IPv6 в Python?

Используйте модуль ipaddress. У объекта IPv6Address свойство .ipv4_mapped возвращает адрес IPv4 внутри ::ffff:0:0/96, .sixtofour — внутри 2002::/16, а .teredo — пару адресов сервера и клиента внутри 2001::/32; для остальных адресов каждое из них равно None. Для NAT64 и ISATAP таких свойств в Python нет, поэтому нужные 32 бита придётся взять самостоятельно, как это делает конвертер.

Меняет ли преобразование адреса моё подключение?

Нет. Конвертер только читает введённый текст и показывает, что в нём записано; на вашем компьютере и в сети ничего не меняется, и никуда ничего не отправляется. Чтобы действительно использовать IPv4 вместо IPv6, измените приоритет адресов на компьютере, как описано в разделе о приоритете IPv4. Адрес IPv4 вашего подключения покажет «Мой IP-адрес».

Как поменять IPv6 на IPv4 в Windows?

Задайте параметру реестра DisabledComponents значение 0x20 в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters из командной строки администратора и перезагрузите компьютер: так IPv4 получит приоритет, и Microsoft рекомендует это вместо отключения IPv6. Проверьте командой netsh interface ipv6 show prefixpolicies: строка ::ffff:0:0/96 должна стоять выше ::/0. Для одной команды ping /4 и tracert /4 используют только IPv4. Снимать флажок IPv6 в свойствах адаптера Microsoft не советует.

Почему адреса 6to4 и Teredo сейчас так редки?

Их ретрансляторы и серверы почти везде отключены. По измерениям Google, в сентябре 2008 года около двух третей пользователей IPv6 приходили в Google через 6to4 или Teredo, а с июля 2021 года — ни одного. RFC 7526 вывел из употребления anycast-ретрансляторы 6to4, но не сам формат 2002::/16. Эти адреса ещё встречаются в старых журналах, правилах межсетевых экранов и документации.

Отправляется ли вставленный адрес на ваш сервер?

Нет. Преобразование выполняется в вашем браузере кодом самой страницы, поэтому ответ появляется прямо во время ввода. Скопированная ссылка хранит адрес после # в URL, а эту часть браузеры никогда не отправляют на сервер, так что тот, кто её откроет, увидит тот же результат. Только если скрипт страницы не загрузится, кнопка «Конвертировать» отправит обычный запрос страницы. Ничего не сохраняется.

Чего-то не хватает?Предложите функцию или новый инструмент