как узнать на каком веб сервере работает сайт
Как узнать на каком веб сервере работает сайт
Добрый день, уважаемые читатели, иногда бывают такие ситуации, что вам понравился сайт, он очень быстро открывается и вы хотели бы понять на каком веб сервере он организован. Для реализации данной задачи, вам не потребуется ничего кроме браузера, я использую для этих целей Google Crome, но вы можете использовать любой, удобный для вас. Особенно данная информация подойдет для начинающих веб мастеров.
Режим разработчика
Для выполнения нашей задачи мы будем пользоваться режимом разработки, который присутствует в каждом браузере. Например в Google Chrome он вызывается нажатием на клавишу F12. Я его недавно использовал, когда делал переход с php 5 на php 7. Выбираете любой сайт и нажимаете F12. Выбираем пункт Network > Headers. Затем находим нужную страницу. Щелкнув по ней у вас откроется дополнительное окно в котором есть поле X-Powered By. В данном случае сайт работает на PHP 5.2.17.
Вот вам пример IIS сервера, он называется ASP.NET.
Еще мне нравится использовать сервис http://checkmy.ru/ он так же позволяет вбив в адресную строку, получить информацию о веб сервисе. Как видите, тут да же показывается версия IIS.
Как определить CMS сайта
Если он не показывает движок, то сайт разработан на самописной CMS. Вот вам пример Joomla.
Так же можно определить движок и через код, для этого откройте любой сайт и нажмите сочетание клавиш CTRL+U, у вас откроется текстовая страница, с кодом данного сайта. Элементарным поиском можно проверить наличие слов, например Joomla.
Если говорить про WordPress, то там вы сможете так же найти его упоминание, хотя большинство вебмастеров убирают упоминания о версии и движке, но если вы хоть немного знакомы со структурой WordPress, то с легкостью сможете его определить. Поищите такую конструкцию в ссылках wp-content/ это сто процентов каталог WordPress.
Если вы знаете еще какие либо способы пишите в комментариях.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как узнать на чём работает сайт
Чтобы примерно представлять, как много технологий может быть задействовано в работе одной единственной страницы веб-сайта, посмотрите на этот список.
Как работают веб-сайты
В самой основе стоят серверы, на которых установлена операционная система В этой операционной системе установлен веб-сервер, а к этому веб-серверу подключены различные расширения для работы разных скриптов (например, PHP, Python, PERL, Ruby). Также к веб-серверу подключены и другие расширения: для безопасности (HTTPS, например), для ускорения загрузки, кэширования данных и т. д.
На веб-сервере в качестве программной основы сайта может быть установлена та или иная система управления контентом (CMS), какой-то из популярных движков форума, вики, блога, галереи фотографий, онлайн магазин, и т. д.
У этой программной основы сайта могут быть свои собственные расширения: SEO плагины, редакторы текста, плагины кэширования и прочее.
Программная платформа сайта может быть написана с использованием фреймворков JavaScript, библиотек JavaScript, графический расширений JavaScript и прочего.
Уже к готовому сайту могут быть подключены разнообразные сторонние сервисы: аналитики, метрики, системы комментирования, CDN, капчи, платёжные системы, рекламные сети, криптомайнеры, шрифты, карты, видео проигрыватели.
В общем, много всего бывает, и определить сразу всё просто заглянув в исходный код не всегда возможно.
Именно для решения этой проблемы — мгновенного определения всех задействованных на сайте технологий и создана специальное расширение для веб-браузеров wappalyzer.
Wappalyzer — это расширение браузера, которое раскрывает технологии, используемые на веб-сайтах. Оно определяет системы управления контентом, платформы eCommerce, веб-серверы, фреймворки JavaScript инструменты аналитики и многое другое. Все технологии перечислены по уже приведённой ссылке.
Wappalyzer для Firefox вы можете установить по ссылке: https://addons.mozilla.org/ru/firefox/addon/wappalyzer/
После установки Wappalyzer среди иконок расширений появится новое. Просто зайдите на сайт, который вас интересует, и кликните на иконку Wappalyzer.
Пример вывода для HackWare.ru:
Пример вывода для SuIP.biz:
Обратите внимание на настройки плагина:
Вполне возможно, что вы захотите отключить некоторые из них:
webanalyze — это Wappalyzer для командной строки
Расширение для веб-браузера очень удобно для обычных пользователей, но такая реализация не позволяет проверить большое количество сайтов за короткое время (что если нужно проверить 1000 или более сайтов?), к тому же, некоторым просто привычнее работать в командной строке.
Именно для таких случаев был создан инструмент webanalyze, который является по своей сути является программой Wappalyzer, портируемой на язык программирования Go.
Как установить webanalyze
Начните с установки компилятора и инструментов Go по данной статье (выберите ручную установку).
Затем выполните команды:
Как пользоваться webanalyze
Чтобы собрать информацию о технологиях, применяемых сайтом https://hackware.ru запустите команду:
Чтобы узнать информацию о технологиях сайта https://suip.biz, а также информацию о технологиях с 5 ссылок, найденных на указанной странице (-crawl 5):
Если вам нужно проверить много сайтов, то сохраните их в файл в формате: один сайт на одну строку. При запуске укажите программе этот файл с помощью опции -hosts:
По умолчанию результаты выводятся в стандартный вывод в удобном для восприятия человеком формате, но с помощью опции -output можно указать формат csv (данные разделены запятыми, такой файл можно открыть программой для работы с таблицами), либо можно указать json для вывода в формате JSON. Например:
Но данная команда также выведет результат в стандартный вывод, чтобы перенаправить вывод в файл используйте символ >, например:
Другие опции программы webanalyze вы найдёте здесь: https://kali.tools/?p=4804
Решение проблем
Ошибка «error initializing:open apps.json: no such file or directory»
При запуске вы можете получить сообщение об ошибке:
Для своей работы программа webanalyze использует файл базы данных apps.json от программы Wappalyzer. Показываемая ошибка означает, что данные файл отсутствует. Для его скачивания выполните команду:
webanalyze выводит меньше данных, чем wappalyzer
В своей работе wappalyzer для определения технологий выполняет JavaScript код и запросы, благодаря которым собираются дополнительные сведения. Поскольку в webanalyze на данный момент это не реализовано, то он выводит меньше информации — только ту, которая не требует выполнения кода JavaScript на сайте.
7 способов определить хостера сайта
Периодически перед многими из вебмастеров возникает задача определить хостера, у которого живет тот или иной сайт. Мотивация для этого бывает самая разная, как простое любопытство, так и желание поселиться по соседству на хорошем и стабильном хостинге или наоборот не вляпаться в такое соседство. В этом посте я приведу несколько известных мне методов с их достоинствами и недостатками. Вполне возможно, что он неполон, поэтому дополнения всячески приветствуются.
Так же «на берегу» оговорюсь: все упомянутые ниже сайты и хостеры упомянуты исключительно как наглядные примеры, и ни в коем случае не в качестве рекламы или, упаси господи, антирекламы. Выбор оных был сделан так же практически случайно — где какие методы у меня в свое время срабатывали, то и привожу.
Способы я перечисляю в порядке убывания точности и, к сожалению, в порядке возрастания вероятности срабатывания.
1. NS-сервера
Плюсы
Минусы
2. Ошибка 403/404
Не могу сказать, что большинство, но немало серьезных хостеров страницы ошибок веб-сервера по умолчанию делают с информацией о себе, а многие их клиенты забывают/ленятся их переопределить. Поэтому в первую очередь стоит попытаться вызвать такую ошибку и посмотреть, что получится. Бывает так, что CMS на сайте при помощи mod_rewrite перехватывает запросы к несуществующим файлам и отдает в ответ свою 404-ю ошибку. Это можно попробовать обойти, вызвав ошибку 403 путем обращения к какталогу без индексного файла. Им может быть папка с картинками/шаблонами, папка для загруженных файлов, кэша движка, системная папка типа includes и т. п. Небольшой хинт — иногда на странице ошибки есть email вебмастера и часто из него можно узнать домен сайта хостера.
Пример
Сайт: sloger.net
Cтраница с 404 ошибкой.
Результат: Хостер Hostgator
Плюсы
Минусы
3. Виртуалхост по умолчанию.
Здесь ситуация во многом аналогична предыдущей — крупные хостеры как правило на виртуалхост по умолчанию ставят свои заглушки, мелкие часто этим пренебрегают и виртуалхостом по умолчанию как правило становится либо первый сайт первого их клиента, либо стандартная заглушка от панели управления (особенно часто это наблюдается в случае с cpanel). Кстати, при первом раскладе есть приятный частный случай, состоящий в том, что иногда первым сайтом первого клиента становится сайт самого хостера и поэтому прием все же дает желаемый результат.
Самый надежный способ попасть на виртуалхост по умолчанию — это обратиться к веб-серверу по IP.
Пример
Плюсы
Минусы
4. Reverse DNS Lookup
Не вдаваясь в подробности скажу, что для любого IP адреса можно с помощью PTR записи в DNS-зоне можно задать «домен по умолчанию“ (не совсем точный термин, но не в этом суть). При этом подавляющее большинство хостеров присваивают своим серверам домены по умолчанию, содержащие в себе имя домена хостера, т. е. что-то вроде server-name.hoster-name.com.
Самый простой вариант узнать это доменное имя по умолчанию — при помощи всем родного ping’a (альтернативно — команды host, dig и nslookup под Linux’ом, аналоги под виндой должны быть, но я про них ничего не знаю).
Пример
PING cisnet.ru (78.108.81.180) 56 (84) bytes of data.
64 bytes from timur.majordomo.ru (78.108.81.180): icmp_seq=1 ttl=55 time=102 ms
Результат: Хостер — majordomo.ru
Плюсы
Минусы
5. Traceroute
Этот способ тесно связан с предыдущим, поскольку тоже подразумевает использование Reverse DNS Lookup, только на этот раз мы будем смотреть домены и для узлов на пути к интересующему нас узлу. Смысл в этом прост — по доменам последних узлов в трейсе мы с большой вероятностью угадаем хостера или датацентр, в котором размещен интересующий нас сайт. Очевидно, что этот способ поможет нам в случае если испытуемый сидит на VPS или выделенном сервере.
Пример
traceroute to phpbbguru.net (88.198.45.197), 30 hops max, 60 byte packets
/* Пропущен неинтересный нам кусок */
6 87.226.228.149 (87.226.228.149) 126.004 ms 103.010 ms 103.147 ms
7 xe-2–2–0.frkt-ar2.intl.ip.rostelecom.ru (87.226.133.150) 115.394 ms 115.575 ms xe-1–0–0.frkt-ar2.intl.ip.rostelecom.ru (87.226.133.110) 137.887 ms
8 decix-gw.hetzner.de (80.81.192.164) 120.920 ms 137.137 ms 137.343 ms
9 hos-bb1.juniper1.rz6.hetzner.de (213.239.240.238) 115.458 ms hos-bb1.juniper2.rz6.hetzner.de (213.239.240.239) 118.008 ms 118.280 ms
10 hos-tr4.ex3k41.rz6.hetzner.de (213.239.252.180) 118.562 ms hos-tr2.ex3k41.rz6.hetzner.de (213.239.229.180) 137.399 ms hos-tr3.ex3k41.rz6.hetzner.de (213.239.252.52) 115.269 ms
11 static.88–198–45–197.clients.your-server.de (88.198.45.197) 136.016 ms 137.170 ms 132.209 ms
Плюсы
Минусы
6. Whois
Вот и добрались до Whois’a, великого и ужасного. В базе данных Whois хранятся не только данные о доменах, но и данные о владельцах диапазонов и отдельных IP-адресов. Соответственно, на основе информации мы можем попытаться установить компанию-владельца хостинга или датацентра.
Пример
whois 83.222.4.124% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See www.ripe.net/db/support/db-terms-conditions.pdf
% Note: This output has been filtered.
% To receive output for a database update, use the «-B» flag.
% Information related to ‘83.222.4.0 — 83.222.5.255’
inetnum: 83.222.4.0 — 83.222.5.255
netname: MASTERHOST-COLOCATION
descr: Masterhost is a hosting and technical support organization.
country: RU
admin-c: MHST-RIPE
tech-c: MHST-RIPE
status: ASSIGNED PA
mnt-by: MASTERHOST-MNT
source: RIPE # Filtered
% Information related to ‘83.222.0.0/19AS25532’
Вывод: сайт живет на собственном сервере, размещенном у Мастерхоста.
Плюсы
Минусы
7. Сигнатура SMTP сервера
небольшой хак — телнет на 25 порт, в большинстве случаев на нём висит почтовый сервис который сразу выдаст хостнейм сервера.
На примере ваших сайтов:
# telnet cisnet.ru 25
Trying 78.108.81.180…
Connected to cisnet.ru.
Escape character is ‘^]’.
220 timur.majordomo.ru ESMTP Exim 4.69 Sat, 17 Apr 2010 22:20:47 +0400
# telnet phpbbguru.net 25
Trying 88.198.45.197…
Connected to phpbbguru.net.
Escape character is ‘^]’.
220 sds.fastvps.ru ESMTP Exim 4.69 Sat, 17 Apr 2010 22:23:25 +0400
Вместо telnet можно использовать netcat:
$ netcat cisnet.ru 25
220 timur.majordomo.ru ESMTP Exim 4.69 Sun, 18 Apr 2010 12:21:21 +0400
^C
Дополнительные сервисы, предложенные хабраобщественностью
Мораль
Практически в любом случае свое любопытство мы сумеем удовлетворить, вопрос лишь в том, насколько точно. А мораль для хостеров — не ленитесь обеспечить себе дополнительный канал притока клиентов, но в то же время не перегните палку, чтобы не распугать клиентов нынешних.
UDP. Перенес в Хостинг.
UPD2. Добавил еще два сервиса, предложенных в комментах.
UPD3, 30 мая. Неожиданно обнаружил этот топик в черновиках. Вернул на место.
PS. Если вы знаете еще способы — пишите, а я добавлю в список.
Как узнать на каком хостинге расположен сайт
Причина, по которой возникает необходимость уточнить месторасположение хостинга того или иного сайта, у каждого пользователя своя. Кто-то занимается анализом конкурентов. Кому-то понравилось быстродействие сайта, и он хочет выяснить имя провайдера, чтобы воспользоваться его услугами. Кто-то хочет насолить владельцу ресурса. А может, просто появился спортивный интерес.
Мы не будет акцентировать внимание на причинах, а расскажем, как узнать, на каком хостинге работает сайт.
Что такое хостинг сайта — немного теории
Сайт фактически представляет собой статичные HTML-файлы или динамические скрипты (написанные на PHP или на других языках программирования), размещённые в специальной директории на сервере, который всегда подключен к сети Интернет.
Хостинг – это компания или непосредственно услуга, предполагающая выделение/аренду вычислительных ресурсов специальных высокопроизводительных компьютеров (серверов).
Серверный парк обычно концентрируется в специальных помещениях – дата-центрах, которые оборудованы всей необходимой инфраструктурой: резервными источниками питания, каналами доступа к сети Интернет (очень хорошо, если каналов несколько), системой охлаждения и вентиляции и т.п.
Начинающие хостеры, у которых пока нет своих помещений, могут арендовать часть стоек или даже отдельные серверы в крупных дата-центрах.
Серверы отличаются от обычных персональных компьютеров. Их конфигурация предполагает подключение к специальным серверным стойкам (корпус имеет типовые размеры и размещение разъёмов для подключения питания и сети), а внутренняя архитектура может предусматривать полное дублирование ключевых элементов (оперативной памяти, жёстких дисков и т.п.), чтобы их можно было заменить на работающем оборудовании.
Помимо аппаратных серверов («выделенные», они же «dedicated-серверы»), у хостера можно арендовать:
Ненадолго вернёмся к сайтам. Мы выяснили, что сайты бывают статичными (построенные из HTML-страниц) и динамичными (формирование страницы производится специальным программным обеспечением). Но, чтобы снизить нагрузку на хостинг, многие web-мастера включают кэширование для динамических сайтов, и тогда они фактически превращаются в статические.
Так как серверы хостингов размещаются по всему миру, то при загрузке контента провайдеру приходится «пробрасывать» статичный контент через большие расстояния. Аренда отдельных каналов обходится дорого, а запросы могут иметь большие задержки (страницы грузятся дольше). Чтобы снизить объём передаваемых данных, можно воспользоваться услугами специальных сервисов, которые будут хранить большую часть статичного контента (HTML-страницы, видеофайлы, изображения, аудио и т.п.) ближе к потенциальной аудитории. Это так называемые сети доставки контента (CDN – Content Delivery Network). Забегая вперёд, скажем, что такие сети затрудняют определение фактического расположения хостинга, так как на пути между реальным сервером и клиентом/браузером появляется посредник, который обслуживает большую часть запросов вместо реальных серверов.
Как формируются запросы к сайту
Когда вы обращаетесь к какому-либо сайту, взаимодействие браузера с сервером сводится к следующим основным этапам:
Получается, что вместо символьного имени можно сразу ввести конкретный IP-адрес, и вы попадёте на нужный сайт. На деле это работает немного сложнее. Если сервер настроен на обязательное чтение HTTP-заголовков, то конкретный сайт он вам не отдаст, пока не сможет определить запрашиваемый домен.
Тем не менее, вы можете произвести трассировку расположения нужного сайта или его сервера. Зная IP сайта, будет легко установить владельца сервера, так как «ничьих» IP-адресов не бывает. За каждым провайдером хостинга (если у него есть договор аренды канала доступа) закрепляется свой пул адресов.
1 способ. Ручная трассировка сервера и сайта
Пора переходить от теории к практике.
Используемые инструменты будут зависеть от операционной системы вашего ПК.
Например, для подробной трассировки маршрута до нужного сайта можно использовать следующие команды (вводятся в консоли, кириллические домны предварительно нужно конвертировать в Punycode):
Для ОС Windows (введите в поиске «cmd» или «Командная строка»)
Для ОС на базе Linux (используйте любой консольный клиент)
Трассировка может занять много времени, но перед вами будет полный маршрут, который проходят запросы от браузера до конкретного сервера с сайтом.
Чем ближе запрос к оборудованию хостера, тем больше информации можно получить о промежуточных серверах. Например, рядом с IP-адресом будет указываться доменное имя сетевой компании, обслуживающей конкретный узел, через который проходят запросы. Например, telia.net – это купный оператор связи с центральным офисом в Швеции, но с большим количеством оборудования в разных странах Европы. И т.д.
Более быстрый способ получения IP нужного сайта – пингование.
Для ОС Windows (введите в поиске «cmd» или «Командная строка»)
Для ОС на базе Linux
Вместо цифры 5 можете указать своё количество запросов, после исчерпания которых команда закончит свою работу.
Конечная точка – IP-адрес, например, 35.208.125.179.
Теперь можно «пробить» IP в WhoIs-утилите, чтобы выяснить, кому принадлежит данный адрес.
Во многих linux-дистрибутивах, особенно в серверных редакциях, утилита уже установлена по умолчанию. Достаточно набрать в терминале:
И вся имеющаяся информация отразится прямо в консоли.
В Windows утилиты в комплекте поставки нет. Но она имеется среди специальных инструментов для системных администраторов вместе с пакетом других утилит Sysinternals Suite.
В Windows 10 последней сборки достаточно скачать пакет отсюда. Затем распаковать его в нужном каталоге и перейти в него. Можно открыть Power-Shell-консоль в нужной папке из меню, вызываемого на правую кнопку мыши, удерживая при этом клавишу Shift. Синтаксис команды примерно такой же:
Приведенный пример показывает, что IP принадлежит Google LLC, а в комментариях сервисных ответов можно найти упоминание email-адреса google-cloud-compliance@google.com, который явно указывает на то, что в роли конечного хостинга работает облачная платформа Google Cloud. Расположение серверов – Маунтин-Вью (США).
Тем не менее, это не исключает, что на одном из этапов могут использоваться услуги посредников. Например, если сайт был создан в облачном конструкторе. Чтобы исключить такую вероятность, следует проверить, какую CMS использует выбранный сайт. Как это сделать, мы рассматривали в отдельной статье.
Ещё больше информации можно узнать при HTTP-запросах к сайту.
для ОС Windows 10 (в более ранних версиях этого инструмента нет)
для Linux-based дистрибутивов
В ответе сайта можно получить тип и версию используемого web-сервера, наличие и время жизни кэша/cookie и другую информацию.
В качестве консольной альтернативы whois можно использовать утилиту nslookup (доступна только в дистрибутивах Linux) или из среды WSL в Windows. Например, командой
можно узнать NS-серверы домена yandex.ru.
можно выяснить домен, который прописан для введённого 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-серверов можно увидеть:
Это не серверы хостинга, это 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-дистрибутиве. Но проще и быстрее всего воспользоваться готовыми онлайн-сервисами. Они более информативны и позволяют абстрагироваться от работы с конкретными утилитами, профессиональным программным обеспечением или консольным вводом.