Могу ли я получить DNS-адрес DNS-клиентов с помощью JS? [Дубликат]

4
задан Benjamin 24 November 2013 в 14:56
поделиться

5 ответов

Это непросто, но это можно сделать. Существует демонстрация подхода, предложенного в отдельном ответе Адама Добрави в http://ipleak.net/

. Чтобы добавить немного деталей, как вы можете реализовать что-то например:

Часть 1 - Настройте свой собственный DNS-сервер на myspecialdomain.com

Этот DNS-сервер должен быть настроен для записи и хранения входящего запроса и исходного IP-адреса адрес. Это хранилище требуется только на короткий период времени, поэтому что-то вроде memcache может работать хорошо. Ответ DNS должен быть NXDOMAIN.

Часть 2 - Ваш код на стороне клиента

В вашем Javscript make и хранении большое случайное число. Сделайте поиск в браузере .myspecialdomain.com. Загрузите это с помощью тега JS img обработчиком ошибок. В этом обработчике ошибок теперь сделайте запрос к серверному коду, передав случайное число.

Часть 3 - Ваше веб-приложение (серверная сторона)

Вам необходимо реализовать некоторую серверную часть логика, которая принимает случайную строку, просматривает ее в хранилище данных и извлекает IP-адрес DNS-сервера. Обратите внимание, что IP-адрес здесь будет IP-адрес одноадресной передачи конкретного сервера, он не будет IP-адресом Anycast, например 8.8.8.8. Здесь вы можете использовать базы данных GeoIP или Whois для определения владельца этого IP-адреса (OpenDNS, Google и т. Д.). Затем вы можете создать ответ для отправки клиентской логике.

6
ответ дан Adam T 17 August 2018 в 21:22
поделиться

Да, вы можете, например, обнаруживать разрешение страницы посетителей.

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

5
ответ дан Adam Dobrawy 17 August 2018 в 21:22
поделиться

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

-1
ответ дан Anthony Giorgio 17 August 2018 в 21:22
поделиться

Разрешение DNS не является частью самого запроса, что означает, что получатель запроса не может узнать, какой DNS был использован клиентом (браузером).

3
ответ дан brezanac 17 August 2018 в 21:22
поделиться

Ответ НЕТ. Весь полученный сервер - это TCP-соединение с посетителем, то есть пара [IP, Port]. Разрешение DNS зависит от локальной конфигурации посетителя и может выполняться прокси.

-1
ответ дан Xiaokun Zheng 17 August 2018 в 21:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: