Получить домен, на котором был достигнут сервер? - PullRequest
1 голос
/ 02 июня 2011

В целом на любом не HTTP-сервере. Будет ли способ определить, какой домен использовался для достижения IP?

Я знаю, что HTTP-серверы получают домен, переданный в заголовке запроса, но возможно ли это с любым другим сервером, который не требует получения этой информации от клиента?

Я особенно ищу способ сделать это с помощью сервера Minecraft (Bukkit), поэтому моим предпочтительным языком (если вам необходимо ответить) будет Java. Но я не хотел бы иметь теории об этом языке.

Ответы [ 3 ]

3 голосов
/ 02 июня 2011

В общем, нет, поэтому протокол HTTP включает его в заголовки.

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

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

Если он не кэшируется, он также часто не просматривается непосредственно конечным клиентом, а скорее кэширующим DNS-сервером, например, управляемым интернет-провайдером.

0 голосов
/ 02 июня 2011

Нет, если в самом протоколе нет средств для этого, таких как заголовок Host в HTTP, вы не можете узнать, какое имя хоста использовалось на клиенте для разрешения вашего IP-адреса.

0 голосов
/ 02 июня 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...