Перейти до змісту
View in the app

A better way to browse. Learn more.

Файна Україна

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Як DNS "зливає" вашу реальну IP адреса

Рекомендовані відповіді

Опубліковано
  • Адміністратор

Ви знали що всі популярні DNS сервери зливають вашу реальну IP адресу або його частину при перевірці на антифрод\антибот та й просто будь-кому, хто бажає насправді? Цей механізм був покликаний для того, щоб прискорювати доставку контенту і робити серфінг інтернету швидше. А натомість став розкривати ваш IP. І ім'я йому EDNS (ECS) .

Що це таке і як працює?

Ніколи не думали як працює механізм https://browserleaks.com/dns та будь-який подібний сервіс? Як він визначає ваш справжній DNS, який ви встановили в системі? Або як протікання виявляє? Схематично це виглядає так:

Код:Копіювати

[Браузер пользователя] --(HTTP запрос)--> [browserleaks.com/dns]

dnsleaktest.com/dns:
   1) Генерирует уникальный домен например: 123.browserleaks.com
   2) Возвращает JS на клиент (браузеру и он его выполняет)

[JS код в браузере]:
   img = new Image();
   img.src = "http://123.browserleaks.com/dns/tracker.png";

Для загрузки tracker.png браузеру нужно сделать следующее:
   Браузер -> ОС: "Нужен IP 123.browserleaks.com"
   ОС -> DNS-сервер: "Дай мне IP для домена 123.browserleaks.com"
   DNS-сервер -> Отправляет запрос в browserleaks.com: "Дай мне IP адрес для 123.browserleaks.com" (Тем самым показывая свой IP)

На стороне browserleaks:
   DNS сервер фиксирует IP адрес того, кто спрашивает
   (Это IP вашего DNS-сервера). !!!ТУТ И ПРОИСХОДИТ ВСЯ МАГИЯ!!!

   DNS-сервер отвечает IP-адресом для домена.
   DNS-сервер -> ОС -> Браузер
   Браузер теперь знает IP, загружает картинку.

Сервер dnsleaktest.com уже знает: запрос пришёл с DNS IP X.X.X.X.
Отправляет результат обратно клиенту через AJAX/REST:
   { "dns_server_ip": "X.X.X.X", "location": "ProviderName" }
Браузер отображает результат (DNS сервер который он узнал).


Браузер показує результат - ваш DNS. Так browserleaks.com стає своєрідним "авторитетним" DNS для гуглівських 8.8.8.8, адже саме він знає IP для 123.browserleaks.com.

Чудово. Із цим розібралися. Тепер питання: Як за допомогою ECS можна палити не тільки DNS IP, але і вашу власну IP (або його частину)?

Ось тут і поводиться EDNS (ECS). Якщо коротко: EDNS Client Subnet дозволяє DNS-серверам враховувати геопозицію або підсіти користувача, щоб підбирати "актуальніші" результати. Спочатку планувалося, що так контент буде вантажитися швидше та ближче до вас. Але за фактом це ще одна дірка у вашій приватності. Тобто це механізм, який може передавати ваш IP чатично або повністю на DNS сервері. Приклад того, що передає Google ДНС(8.8.8.8)

Код:Копіювати

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; CLIENT-SUBNET: 192.168.123.0/24/0 (этот IP я ему отправил в ручную)


А якщо сайт Paypal.com наприклад зробить так само. А що їм завадить? - Та нічого їм не завадить це зробити. Перевіряємо наш ДНЗ на витік

6d538d.png

8.8.8.8 люб'язно відправив нам адресу, яку ми йому надали
І ми бачимо чудову картину, що ДНС сервер гугла передав нашу адресу, яку ми закинули в розширення ECS незмінним

Ось невеликий список які точно передають дані:

  • Google DNS 8.8.8.8 та 8.8.4.4

Код:Копіювати

Google Public DNS давно поддерживает ECS и активно его использует для геооптимизации.

OpenDNS (Cisco Umbrella) 208.67.222.222 и 208.67.220.220

Comcast DNS: 75.75.76.76 и 75.75.75.75
Хоть на этом сервисе почему то обрубается но у меня прекрасно работает на моей машине (хоть и преедает чатсично (страну узнать можно и даже город я думаю))

dig @75.75.76.76 example.com +subnet=192.168.123.2/24 +noall +edns=0 +comment +qr
;; Sending:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44187
;; flags: rd ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; CLIENT-SUBNET: 192.168.123.0/24/0
......


Самі можете подивитися свої ДНС сервери тут:https://tools.keycdn.com/dig

Чому важливо?

Таким чином виходить, що будь-хто може отримати IP адресу від ДНС сучасного сервера. Якщо я зміг написати такий невеликий скрипт - то великі корпорації типу paypal.com і поготів зможуть це зробити. Так і виходить, що метаECS благородна(доставляти контент швидше), а реалізація як завжди. Навіть якщо ви використовуєте VPN або шифрування DNS-over-HTTPS (DoH), DNS-over-TLS (DoT) або DNS-over-QUIC це не поспішає від утчечки ECS і в браузері або ОС немає такої кнопочки яка може вимкнути цю опцію так як вона визначається на стороні DNS сервера.

Для публікації повідомлень створіть обліковий запис або авторизуйтесь

Акаунт

Навігація

Пошук

Пошук

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.