Причина, по которой возникает необходимость уточнить месторасположение хостинга того или иного сайта, у каждого пользователя своя. Кто-то занимается анализом конкурентов. Кому-то понравилось быстродействие сайта, и он хочет выяснить имя провайдера, чтобы воспользоваться его услугами. Кто-то хочет насолить владельцу ресурса. А может, просто появился спортивный интерес.
Мы не будет акцентировать внимание на причинах, а расскажем, как узнать, на каком хостинге работает сайт.
Что такое хостинг сайта — немного теории
Сайт фактически представляет собой статичные HTML-файлы или динамические скрипты (написанные на PHP или на других языках программирования), размещённые в специальной директории на сервере, который всегда подключен к сети Интернет.
Хостинг – это компания или непосредственно услуга, предполагающая выделение/аренду вычислительных ресурсов специальных высокопроизводительных компьютеров (серверов).
Серверный парк обычно концентрируется в специальных помещениях – дата-центрах, которые оборудованы всей необходимой инфраструктурой: резервными источниками питания, каналами доступа к сети Интернет (очень хорошо, если каналов несколько), системой охлаждения и вентиляции и т.п.
Начинающие хостеры, у которых пока нет своих помещений, могут арендовать часть стоек или даже отдельные серверы в крупных дата-центрах.
Серверы отличаются от обычных персональных компьютеров. Их конфигурация предполагает подключение к специальным серверным стойкам (корпус имеет типовые размеры и размещение разъёмов для подключения питания и сети), а внутренняя архитектура может предусматривать полное дублирование ключевых элементов (оперативной памяти, жёстких дисков и т.п.), чтобы их можно было заменить на работающем оборудовании.
Помимо аппаратных серверов («выделенные», они же «dedicated-серверы»), у хостера можно арендовать:
- виртуальные серверы (VDS или VPS);
- место на общих серверах (shared-хостинг);
- облачную инфраструктуру (это более сложная конфигурация аппаратных серверов, которая предполагает их объединение на программном уровне с динамической балансировкой нагрузки и выделением ресурсов отдельному клиенту).
Ненадолго вернёмся к сайтам. Мы выяснили, что сайты бывают статичными (построенные из HTML-страниц) и динамичными (формирование страницы производится специальным программным обеспечением). Но, чтобы снизить нагрузку на хостинг, многие web-мастера включают кэширование для динамических сайтов, и тогда они фактически превращаются в статические.
Так как серверы хостингов размещаются по всему миру, то при загрузке контента провайдеру приходится «пробрасывать» статичный контент через большие расстояния. Аренда отдельных каналов обходится дорого, а запросы могут иметь большие задержки (страницы грузятся дольше). Чтобы снизить объём передаваемых данных, можно воспользоваться услугами специальных сервисов, которые будут хранить большую часть статичного контента (HTML-страницы, видеофайлы, изображения, аудио и т.п.) ближе к потенциальной аудитории. Это так называемые сети доставки контента (CDN – Content Delivery Network). Забегая вперёд, скажем, что такие сети затрудняют определение фактического расположения хостинга, так как на пути между реальным сервером и клиентом/браузером появляется посредник, который обслуживает большую часть запросов вместо реальных серверов.
Как формируются запросы к сайту
Когда вы обращаетесь к какому-либо сайту, взаимодействие браузера с сервером сводится к следующим основным этапам:
- Разрешение DNS-запроса. DNS-система отвечает за связывание доменного имени и реального расположения сервера. То есть, она соотносит имя сайта, например, vash-sait.ru и конкретный IP-адрес сервера, на котором этот сайт следует искать (IPv4-адреса выглядят так – 216.58.207.110, а IPv6-адреса примерно так – 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d).
- HTTP-обмен. Передаются заголовки, специальные запросы и т.д. Результат – браузер получает всё содержимое страницы для её отображения. На этом этапе web-серверы могут соотнести имя домена в запросах с каталогом, в котором следует искать файлы, и скрипты сайта, чтобы их отдать. Поэтому на одном сервере можно разместить сразу множество сайтов.
- Рендеринг (отрисовка) страниц в браузере.
Получается, что вместо символьного имени можно сразу ввести конкретный IP-адрес, и вы попадёте на нужный сайт. На деле это работает немного сложнее. Если сервер настроен на обязательное чтение HTTP-заголовков, то конкретный сайт он вам не отдаст, пока не сможет определить запрашиваемый домен.
Тем не менее, вы можете произвести трассировку расположения нужного сайта или его сервера. Зная IP сайта, будет легко установить владельца сервера, так как «ничьих» IP-адресов не бывает. За каждым провайдером хостинга (если у него есть договор аренды канала доступа) закрепляется свой пул адресов.
1 способ. Ручная трассировка сервера и сайта
Пора переходить от теории к практике.
Используемые инструменты будут зависеть от операционной системы вашего ПК.
Например, для подробной трассировки маршрута до нужного сайта можно использовать следующие команды (вводятся в консоли, кириллические домны предварительно нужно конвертировать в Punycode):
Для ОС Windows (введите в поиске «cmd» или «Командная строка»)
tracert superbwebsitebuilders.com
Для ОС на базе Linux (используйте любой консольный клиент)
mtr superbwebsitebuilders.com
Для Mac OS
traceroute superbwebsitebuilders.com
Трассировка может занять много времени, но перед вами будет полный маршрут, который проходят запросы от браузера до конкретного сервера с сайтом.
Чем ближе запрос к оборудованию хостера, тем больше информации можно получить о промежуточных серверах. Например, рядом с IP-адресом будет указываться доменное имя сетевой компании, обслуживающей конкретный узел, через который проходят запросы. Например, telia.net – это купный оператор связи с центральным офисом в Швеции, но с большим количеством оборудования в разных странах Европы. И т.д.
Более быстрый способ получения IP нужного сайта – пингование.
Для ОС Windows (введите в поиске «cmd» или «Командная строка»)
ping -n 5 superbwebsitebuilders.com
Для ОС на базе Linux
ping -c 5 superbwebsitebuilders.com
Вместо цифры 5 можете указать своё количество запросов, после исчерпания которых команда закончит свою работу.
Конечная точка – IP-адрес, например, 35.208.125.179.
Теперь можно «пробить» IP в WhoIs-утилите, чтобы выяснить, кому принадлежит данный адрес.
Во многих linux-дистрибутивах, особенно в серверных редакциях, утилита уже установлена по умолчанию. Достаточно набрать в терминале:
whois 35.208.125.179
или
whois superbwebsitebuilders.com
И вся имеющаяся информация отразится прямо в консоли.
В Windows утилиты в комплекте поставки нет. Но она имеется среди специальных инструментов для системных администраторов вместе с пакетом других утилит Sysinternals Suite.
В Windows 10 последней сборки достаточно скачать пакет отсюда. Затем распаковать его в нужном каталоге и перейти в него. Можно открыть Power-Shell-консоль в нужной папке из меню, вызываемого на правую кнопку мыши, удерживая при этом клавишу Shift. Синтаксис команды примерно такой же:
.\whois.exe superbwebsitebuilders.com
или
.\whois.exe 35.208.125.179
Приведенный пример показывает, что IP принадлежит Google LLC, а в комментариях сервисных ответов можно найти упоминание email-адреса google-cloud-compliance@google.com, который явно указывает на то, что в роли конечного хостинга работает облачная платформа Google Cloud. Расположение серверов – Маунтин-Вью (США).
Тем не менее, это не исключает, что на одном из этапов могут использоваться услуги посредников. Например, если сайт был создан в облачном конструкторе. Чтобы исключить такую вероятность, следует проверить, какую CMS использует выбранный сайт. Как это сделать, мы рассматривали в отдельной статье.
Ещё больше информации можно узнать при HTTP-запросах к сайту.
Например:
для ОС Windows 10 (в более ранних версиях этого инструмента нет)
curl.exe -I -v https://superbwebsitebuilders.com
для Linux-based дистрибутивов
curl -I -v https://superbwebsitebuilders.com
В ответе сайта можно получить тип и версию используемого web-сервера, наличие и время жизни кэша/cookie и другую информацию.
В качестве консольной альтернативы whois можно использовать утилиту nslookup (доступна только в дистрибутивах Linux) или из среды WSL в Windows. Например, командой
nslookup -type=NS yandex.ru
можно узнать NS-серверы домена yandex.ru.
А командой
nslookup -type=ptr 94.101.170.86
можно выяснить домен, который прописан для введённого IP-адреса (в случае с shared-хостингами вы с большой степенью вероятности увидите домен хостера).
Вместо утилиты nslookup в Linux можно использовать утилиту dig, whois, jwhois, pwhois и др.
Профессиональные web-мастера могут воспользоваться специальным программным обеспечением, таким, как, например, SmartWhois (стоимость лицензии около 3000 руб.) или аналогами.
2 способ. Определение хостинга по whois
Одним из наиболее простых способов выяснения того, на каком хостинге работает сайт, можно назвать обращение к системе DNS. Для этого можно использовать любой онлайн-сервис Whois. Они предоставляются практически всеми регистраторами доменов или специализированными площадками. Например: reg.ru/whois/, nic.ru/whois/, whois-service.ru и т.д.
Вы получаете весь пул данных, которые предусматривает протокол, разработанный ICANN: кто является регистратором, данные для связи с владельцем или с регистратором, куда направлены ресурсные записи (DNS-серверы). Например, Name Server: NS1.101DOMAIN.COM говорит о том, что домен направлен на серверы хостера 101DOMAIN.COM.
Почему whois-сервисы не самые информативные? Дело в том, что домен не всегда направляют сразу на серверы хостинга. Очень часто в качестве NS-серверов можно увидеть:
dns1.yandex.net
или
***.ens.mail.ru
или
***.ns.cloudflare.com
И т.п.
Это не серверы хостинга, это DNS-хостинг. То есть услуга, в рамках которой вы передаёте на обслуживание только DNS-записи, а сами файлы сайта будут располагаться в другом месте. Упоминание cloudflare.com вообще связано с использованием услуг/сетей CDN-провайдера.
3 способ. Сервисы для определения хостинга сайта
Если у вас под рукой нет Linux или нет желания/возможности устанавливать и настраивать WSL-компоненты, проще воспользоваться готовыми сервисами.
cy-pr.com
Достаточно сразу ввести адрес в строку браузера вида https://www.cy-pr.com/a/vash-sait.ru и получить всю нужную информацию в одном месте: какие NS-серверы указаны, кто является регистратором домена, где расположены серверы хостера + конкретный IP, а также массу другой информации о сайте, полезной в том числе и для SEO.
2whois.ru
Русскоязычный онлайн-сервис, который предоставляет вывод многих упомянутых выше утилит: nslookup, ping, dig, ptr, traceroute и др. Здесь можно получить информацию whois и проверить доступность выбранного ресурса из разных точек страны (на предмет выявления актуализации DNS-системы или проблем в отдельных регионах из-за поломок крупных узлов) и т.п.
reg.ru/web-tools/
Большой сборник онлайн-инструментов от крупного регистратора доменов. Здесь есть возможность не только выполнить whois-запросы, но и воспользоваться утилитой dig с трассировкой всех ресурсных записей домена, определить местоположение узла по его IP-адресу, а также воспользоваться рядом специфичных функций, таких как: проверка истории домена, мониторинг и экстренное оповещение о проблемах (на платной основе).
2ip.ru
Ещё один профильный ресурс для web-мастеров, на котором размещено множество полезных онлайн-инструментов. Например, здесь можно узнать на каком хостинге работает сайт, какое расстояние от вас до сервера, на какой CMS работает сайт, какие ещё сайты работают на одном IP-адресе (на одном сервере), проверить HTTP-ответы хоста, данные SSL-сертификата и многое другое.
Выводы
Инструментов, позволяющих выяснить, где, на чём и как работает сайт, кто ему предоставляет услуги web-хостинга, DNS-хостинга, CDN-услуги и т.п., существует достаточно. Многие запросы можно сделать из консоли прямо на своём ПК, особенно, если он работает на Linux-дистрибутиве. Но проще и быстрее всего воспользоваться готовыми онлайн-сервисами. Они более информативны и позволяют абстрагироваться от работы с конкретными утилитами, профессиональным программным обеспечением или консольным вводом.