Методология

Как работают проверки MyLeaks

MyLeaks сообщает о наблюдениях, сделанных при текущей загрузке страницы и связанных сетевых соединениях.

Область и интерпретация

Результаты могут зависеть от поведения браузера, контроля конфиденциальности, VPN, прокси, NAT, межсетевых экранов и другого сетевого программного обеспечения. Читайте каждый результат вместе с его заявленными ограничениями.

1. IP и геолокация

Что измеряется

Исходный IP HTTPS-соединения, его версия IPv4 или IPv6, согласованные версия и шифр TLS, User-Agent, Accept-Language и низкоэнтропийные Client Hints (Sec-CH-UA, Sec-CH-UA-Mobile и Sec-CH-UA-Platform). Результат также может содержать страну, административный регион, город, примерные широту/долготу, радиус точности, часовой пояс, ASN и организацию AS, когда они доступны.

Как это измеряется

MyLeaks читает исходный адрес и данные соединения, зафиксированные во время текущего визита. Приблизительные поля местоположения и сети определяются по IP-ссылкам.

Что означает результат

Публичный IP — это адрес, наблюдаемый для HTTPS-запроса, достигшего MyLeaks. Поля геолокации и сети — оценки базы данных, связанные с этим IP-адресом, а не местоположение, сообщённое устройством.

Ограничения

VPN, прямые прокси, NAT операторского класса, корпоративные шлюзы и другая маршрутизация могут изменять наблюдаемый адрес. Базы IP могут не содержать данные, быть устаревшими или географически неточными. Эта проверка не запрашивает разрешение на GPS или другое определение местоположения устройства.

2. Обнаружение прокси/VPN

Что измеряется

Индикаторы классификации наблюдаемого публичного IP, включая прокси, VPN, Tor, хостинг/дата-центр, жилой прокси, тип сети, оператора, доверительность и поля риска, когда они доступны.

Как это измеряется

MyLeaks проверяет текущий публичный IP по данным классификации сети и представляет доступные индикаторы в едином формате.

Что означает результат

Обнаружено означает, что был обнаружен индикатор текущего IP. Не обнаружено, значит, в этой проверке индикатор не обнаружен. Неизвестное означает, что необходимая информация была недоступна или недостаточна.

Ограничения

Классификационные данные могут быть неполными, задержанными или устаревшими. Категории сетей пересекаются и могут конфликтовать, особенно для совместного хостинга, ретрансляторов и новых сервисов.

3. WebRTC

Что измеряется

Тип, адрес, порт и протокол кандидата ICE, связанный адрес/порт, тип TCP и то, является ли адрес числовым публичным, числовым частным/локальным, замаскированным через mDNS .local именем либо другим именем хоста. Показывается количество кандидатов host, server-reflexive (srflx), relay, peer-reflexive и неизвестных кандидатов.

Как это измеряется

Страница создаёт WebRTC соединение, открывает канал данных и собирает кандидатов ICE до завершения браузера или до истечения времени тестирования. Он не запрашивает доступ к камере или микрофону. Предпочтительнее структурированные поля кандидатов, а исходный парсинг кандидатов — запасной вариант.

Кандидат-хост представляет собой адрес интерфейса или его mDNS замену. Серверно-рефлексивный кандидат — это отображённый адрес, полученный при установке соединения. Ретранслятор-кандидат проходит через TURN и отображается, но исключается из прямого сравнения публичных IP. Частные/местные и mDNS принимающие кандидаты указываются отдельно.

Что означает результат

MyLeaks сравнивает числовые публичные адреса host или server-reflexive с публичным адресом HTTP. Различие сообщает, что браузер раскрыл другой публичный адрес. Совпадение означает только, что эта проверка не обнаружила другой публичный адрес.

Ограничения

Политика браузера, расширения, корпоративные органы управления, маршрутизация VPN, межсетевые экраны и версии браузера могут влиять на потенциальную уязвимость. Кандидаты на ретрансляторы исключаются из прямого сравнения публичных IP. Отсутствие результата означает, что тест не получил полезного сравнения. Это не специализированный тест подключения IPv6.

4. DNS

Что измеряется

IP-адреса, исходящие из резолвера, которые запрашивают уникальные имена тестов, версию IP, типы и количество запросов, количество наблюдаемых зондов и информацию о стране/ASN, когда они доступны.

Как это измеряется

Браузер разрешает несколько уникальных имён и ненадолго ждёт наблюдений. Если первый метод не даёт результата, до окончания теста пытается использовать второй метод разрешения, поддерживаемый браузером.

Что означает результат

Наблюдаемый адрес — это адрес рекурсивного резолвера или его исходящего узла, запросившего авторитетную DNS-инфраструктуру MyLeaks. Результат показывает связи между сетью этого резолвера и сетью HTTP.

Ограничения

Результат может быть не точным DNS сервером, настроенным на устройстве, и не определяет настройки DoH/DoT браузера. Общие решения, пересылки, anycast и публичные резолвери. Поведение браузера или сети может подавлять запросы на тестирование.

5. TLS JA3/JA4

Что измеряется

Наблюдаемые TLS ClientHello: наследственные и поддерживаемые версии TLS, порядок набора шифров, порядок расширения, порядок поддерживаемых групп, форматы EC-точек, алгоритмы подписи, значения ALPN и присутствие SNI. MyLeaks выводит JA3 и JA4 TLS ценности Клиента.

Как это измеряется

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

Что означает результат

JA3 и JA4 обобщают характеристики ClientHello, которые дошли до MyLeaks. Они могут сравнить TLS реализации или пути, и многие клиенты могут разделять одни и те же ценности.

Ограничения

TLS перехвата, прокси, промежуточное ПО, обновления браузера и настраиваемые TLS библиотеки могут изменять наблюдение. У многих клиентов есть отпечатки пальцев.

Дополнительные сведения: нормализация JA3 и JA4

JA3 использует legacy_version,ciphers,extensions,supported_groups,ec_point_formats. GREASE удаляется из наборов шифров, расширений и групп; оставшийся порядок сохраняется. Значения десятичные и разделены дефисами внутри каждого поля. Идентификатор — MD5 в нижнем регистре от этой канонической строки, как определяет формат JA3.

JA4 использует самую высокую предложенную версию без GREASE с переходом к legacy version; маркер транспорта TCP; состояние наличия/отсутствия SNI; ограниченные двузначные количества наборов шифров и расширений без GREASE; и код из первой записи ALPN. Этот код ALPN использует первый и последний байты, если оба являются ASCII-буквами или цифрами; иначе — первый и последний шестнадцатеричные символы. ID наборов шифров сортируются численно и хешируются SHA-256 до 12 шестнадцатеричных символов. Из расширений удаляются SNI (0x0000) и ALPN (0x0010), затем они сортируются численно. Упорядоченные алгоритмы подписи без GREASE добавляются без сортировки перед вторым 12-символьным префиксом SHA-256. Пустой вход хеша даёт двенадцать нулей. MyLeaks реализует JA4 TLS Client, а не другие методы JA4+.

6. HTTP/2

Что измеряется

Преамбула клиента и ALPN h2, первые записи SETTINGS без ACK, ограниченная начальная последовательность кадров без ACK, приращения WINDOW_UPDATE соединения и их позиции в последовательности, порядок псевдозаголовков и имён обычных заголовков. Обновления окна потока, данные приоритета и флаги блока заголовков показываются в подробностях.

Как это измеряется

Браузер открывает HTTP/2 соединение. MyLeaks анализирует начальные кадры и блок заголовка и возвращает наблюдение для этого соединения.

Что означает результат

myleaks-h2-v1 — это специфичная для MyLeaks версионированная сводка наблюдаемого начального поведения HTTP/2. Это не JA4H, не отпечаток Akamai и не универсальный стандарт.

Ограничения

Некоторые прокси, корпоративные сети, межсетевые экраны и ограничительные шлюзы могут блокировать тестовое соединение. Посредники могут изменять поведение, и многие клиенты могут добиваться одного и того же результата.

Дополнительные сведения: myleaks-h2-v1
myleaks-h2-v1|SETTINGS=<id:value,id:value,...>|WINDOW=<increment@sequence-position,...|none>|FRAMES=<non-ACK-frame-name,...>|PSEUDO=<pseudo-header-name,...>|HEADERS=<regular-header-name,...>

Записи SETTINGS, имена кадров, псевдозаголовков и обычных заголовков сохраняют наблюдаемый порядок в потоке или после декодирования; дубликаты и неизвестные ID настроек сохраняются. Для неизвестных кадров используется UNKNOWN_0xNN. Отпечаток — SHA-256 в нижнем регистре от точной канонической строки UTF-8. Значения заголовков, исходный адрес/порт, временные характеристики, отпечатки TLS и локальные хеши браузера исключены.

7. QUIC/HTTP/3

Что измеряется

Публичный IPv4-адрес прямого соединения QUIC, версия QUIC, раскрываемые стабильные значения параметров транспорта, начальная длина ID исходного/целевого соединения, значения SETTINGS HTTP/3, наличие зарезервированных настроек, порядок имён заголовков запроса и то, был ли принят 0-RTT.

Как это измеряется

Браузер пытается подключиться к HTTP/3 через QUIC. Только успешное QUIC и HTTP/3 наблюдение показываются в виде отпечатка пальца.

Что означает результат

myleaks-quic-v1 и myleaks-h3-v1 — это определённые MyLeaks сводки раскрываемых характеристик соединения. Различие IP HTTPS и QUIC означает, что два соединения достигли MyLeaks разными публичными маршрутами; оно не указывает, какой адрес «настоящий».

Ограничения

QUIC или HTTP/3 могут быть заблокированы или отключены браузером или сетью. Некоторые транспортные данные и порядок по проводу недоступны, поэтому MyLeaks их опускает, вместо того чтобы делать выводы. Многие клиенты могут добиться одного и того же результата.

Дополнительные сведения: каноникализация QUIC и H3 в MyLeaks

myleaks-quic-v1 канонический вход:

VER=<escaped-version>|TP=<numeric-id:value sorted by id>|GREASE=NE

Разрешённый список параметров транспорта использует ID 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 и 14, а также ID 32, когда присутствует max_datagram_frame_size . Текст версии экранирует % | , :. Порядок параметров, исходный адрес/порт, исходные байты CID/токена, временные характеристики и динамические данные соединения исключены. NE означает, что наблюдение GREASE не раскрывается.

myleaks-h3-v1 канонический вход:

SETTINGS=<known numeric-id:value sorted by id>|GREASE=<0|1>

Разрешённый список V1 содержит ID SETTINGS 1, 6, 7, 8 и 51. Неизвестные незарезервированные настройки отображаются, но исключаются. Зарезервированные ID, соответствующие 0x1f*N+0x21 вносят только стабильный бит наличия GREASE; их случайные ID и значения не хешируются. Оба отпечатка — SHA-256 в нижнем регистре от их точного канонического входа UTF-8. 0-RTT отключён и исключён.

8. TCP

Что измеряется

Исходное окно TCP, первые допустимые значения MSS и масштаба окна, разрешение SACK, наличие опций временной метки и TCP Fast Open, состояние ECE/CWR, бит Don’t Fragment IPv4 и порядок опций TCP в потоке. Наблюдаемый TTL и предполагаемые начальные TTL/число переходов отображаются отдельно.

Как это измеряется

MyLeaks считывает выбранные характеристики начального IPv4 TCP SYN и строит версионное резюме из стабильных полей.

Что означает результат

myleaks-tcp-v1 суммирует исходные характеристики SYN, полученные MyLeaks. Это отдельный формат от JA4T.

Ограничения

NAT, VPN, прокси, файрволы, нормализация пакетов и другие сетевые устройства могут изменять эти поля. Многие системы имеют одинаковый результат.

Дополнительные сведения: myleaks-tcp-v1
WIN=<raw>|MSS=<value|->|WS=<value|->|SACK=<0|1>|TS=<0|1>|TFO=<0|1>|ECN=<NONE|ECE|CWR|ECE+CWR>|DF=<0|1>|OPTS=<comma-separated option tokens|->

Известные повторяющиеся опции сохраняются в порядке опций; используется первое допустимое значение MSS/масштаба окна. NOP и EOL сохраняются. Для неизвестных опций используется OPT<kind>L<length>, без данных опции. Некорректная длина приводит к отклонению SYN. Отпечаток — SHA-256 в нижнем регистре от точной канонической строки.

Хеш исключает адреса/порты потока, номера последовательности и подтверждения, ID IP, оценки TTL/переходов, значения временных меток TCP, байты cookie TFO, контрольные суммы и время захвата. Наблюдаемый TTL сравнивается с наименьшим распространённым начальным значением из 32, 64, 128 и 255; полученные значения TTL и числа переходов являются лишь оценками.

9. Отпечаток браузера

Что измеряется

Семь отдельных доступных браузеру поверхностей: Canvas, WebGL, WebGPU, Audio, Fonts, ClientRects и Canvas TextMetrics. Единого составного отпечатка браузера нет. Каждая поверхность измеряется дважды для проверки стабильности на одной странице.

Как это измеряется

Страница использует возможности браузера и хеширование SHA-256. Объектные ключи сортируются рекурсивно перед сериализацией JSON; массивы сохраняют свой определённый порядок.

Что означает результат

Поверхность, отмеченная как стабильная, выдавала одинаковый хэш в двух запусках при загрузке страницы. Этот статус описывает повторяемость при текущей нагрузке.

Ограничения

Доступность и значения зависят от браузера, операционной системы, реализации графики и звука, шрифтов, средств защиты конфиденциальности, расширений и текущего состояния выполнения. Ограниченные или нестабильные результаты сами по себе не устанавливают конфиденциальность, подмену или подлинность.

Дополнительные сведения: точный вход каждого хеша браузера
  • Canvas: исходные байты RGBA из детерминированной сцены Canvas 2D размером 320 × 160 с фиксированными заливками, композитингом, геометрией, градиентами и текстом. SHA-256 применяется непосредственно к байтам пикселей.
  • WebGL: исходные байты RGBA, прочитанные из фиксированного рендера треугольника 96 × 96 в WebGL 2, WebGL 1 или экспериментальном WebGL. Отображаемые данные о возможностях — контекст/версия, язык шейдеров, производитель/рендерер, необязательные значения без маскировки, выбранные пределы, сглаживание и отсортированный список расширений — не входят в этот хеш рендеринга.
  • WebGPU: канонический JSON со сведениями об адаптере (производитель, архитектура, устройство, описание или «Не раскрыто»), лексикографически отсортированными именами возможностей и фиксированным упорядоченным списком конечных числовых ограничений WebGPU. Ключи объектов сортируются при канонической сериализации.
  • Аудио: 8192 отсчёта (кадры 1024–9215) из одноканального офлайн-рендера с частотой 44 100 Гц, в котором треугольный осциллятор 997 Гц проходит через компрессор с фиксированными параметрами. Каждое значение Float32 кодируется в порядке little-endian перед SHA-256; слышимый звук и запрос разрешения не используются.
  • Шрифты: канонический JSON с фиксированным числом кандидатов и лексикографически отсортированными обнаруженными именами. Шрифт считается обнаруженным, когда ширина или высота фиксированного пробного текста отличается как минимум от двух базовых значений serif, sans-serif и monospace.
  • ClientRects: канонический JSON для фиксированной компоновки шириной 320 px вне экрана: ограничивающие/клиентские прямоугольники корня, блока и строчных элементов, а также прямоугольники текстового Range. Координаты относятся к контейнеру и фиксируются до шести знаков после запятой; порядок массива сохраняется.
  • TextMetrics: канонический JSON с точностью 6 и тремя фиксированными сочетаниями шрифта/текста. Для каждого сочетания поддерживаемые конечные значения ширины, левой/правой/верхней/нижней границы фактического ограничивающего прямоугольника и верхней/нижней границы прямоугольника шрифта включаются в фиксированном порядке свойств и с шестью знаками после запятой.

10. Проверки согласованности

Что измеряется

Правила сравнивают: IP HTTP с публичными кандидатами WebRTC; часовой пояс браузера с часовым поясом, оценённым по IP; ASN/страну резолвера с ASN/страной HTTP; логические связи внутри данных IP-разведки; семейство/версию User-Agent с Client Hints; User-Agent, Client Hints и navigator.platform; маркеры мобильного устройства; стабильность отпечатка каждой поверхности; navigator.webdriver; а также IP HTTPS с IP QUIC.

Как это измеряется

Правила согласованности сравнивают уже полученные на странице результаты без повторения тестов. Псевдонимы платформы и совместимые представления семейства браузеров нормализуются консервативно; Смещение часового пояса использует один Reference Instant и Browser Intl .

Что означает результат

Статусы, такие как согласованный, совместимый, несоответствие, предупреждение, информационный и неизвестный, описывают конкретную фактическую связь между сопоставленными значениями.

Ограничения

Откройте несоответствие, чтобы увидеть, какие значения отличаются. Отсутствие входов приводит к неизвестным результатам, и независимо наблюдаемые сигналы могут отличаться из-за поведения сети или браузера.