Как узнать технологии чужого сайта за 5 минут
Чтобы определить, на чем сделан сайт (CMS, фреймворк, хостинг), достаточно воспользоваться браузерными расширениями вроде Wappalyzer или онлайн-сервисами типа BuiltWith. Для ручного анализа изучите исходный код страницы (поиск по wp-content, generator), HTTP-заголовки ответа сервера и DNS-записи домена. Эти методы позволяют с высокой точностью выявить стек технологий без доступа к админ-панели.
Знание технологического стека конкурентов помогает в нескольких ситуациях:
- Бенчмаркинг: оценка сложности и стоимости разработки аналогичного проекта.
- Безопасность: понимание потенциальных уязвимостей конкретных версий CMS.
- SEO-аудит: выявление причин медленной загрузки или проблем с индексацией, связанных с движком.
- Интеграции: подбор совместимых плагинов или сервисов аналитики.
Важно: Современные сайты часто используют гибридный стек (например, Headless CMS + React/Vue на фронтенде). Поэтому один метод редко дает полную картину — комбинируйте инструменты.
Быстрые способы: онлайн-сервисы и расширения
Самый простой путь — использовать автоматические детекторы. Они сканируют публичные сигналы сайта и выдают отчет.
Браузерные расширения
Установите одно из расширений для Chrome или Firefox. Они работают в реальном времени при посещении любой страницы.
- Wappalyzer: Самый популярный инструмент. Показывает CMS, сервер веб-приложений, языки программирования, системы аналитики и виджеты.
- WhatRuns: Легковесная альтернатива, хорошо определяющая шрифты, CDN и специфические скрипты.
- BuiltWith Technology Profiler: Дает наиболее глубокий анализ, включая исторические данные и используемые маркетинговые инструменты.
Онлайн-сканеры
Если не хотите устанавливать расширения, используйте веб-сервисы. Введите URL сайта и получите отчет:
- BuiltWith.com: Лидер рынка. Показывает не только технологии, но и тренды их использования.
- 2ip.ru / Whois-service: Полезны для определения хостинг-провайдера и географии сервера.
- Netcraft Site Report: Предоставляет детальную информацию о хостинге, ОС сервера и истории аптайма.
Ручной анализ: как определить CMS
Если автоматические инструменты ошибаются или сайт самописный, ищите ручные маркеры в исходном коде страницы (Ctrl+U или Cmd+Option+U).
Характерные пути и файлы
Нажмите Ctrl+F в исходном коде и поищите следующие ключевые слова:
| CMS | Маркеры в коде / URL |
|---|---|
| WordPress | /wp-content/, /wp-includes/, wp-json, мета-тег generator со значением WordPress |
| Joomla | /media/jui/, /templates/, мета-тег generator со значением Joomla |
| Drupal | /sites/default/, drupal.js, ссылки на /node/ |
| Bitrix | /bitrix/, BX, наличие куки BITRIXSMGUESTID |
| OpenCart | /catalog/view/theme/, route=product/product в URL |
| Tilda | Скрипты tilda-scripts, классы t-rec, домен static.tildacdn.com |
Лайфхак для WordPress: Попробуйте открыть адрес site.com/wp-login.php или site.com/xmlrpc.php. Если страница существует и возвращает форму входа или ответ XML, это почти гарантированно WordPress.
Мета-теги
В секции <head> часто встречается тег:
<meta name="generator" content="WordPress 6.4" />
Однако многие администраторы скрывают этот тег в целях безопасности, поэтому его отсутствие не гарантирует, что CMS другая.
Как распознать фреймворк и язык бэкенда
Определить серверный фреймворк (Laravel, Django, Ruby on Rails) сложнее, так как код выполняется на сервере и не виден пользователю. Однако остаются косвенные признаки.
Анализ HTTP-заголовков
Откройте инструменты разработчика (F12 → вкладка Network). Обновите страницу и кликните на первый запрос (обычно это название документа). В разделе Response Headers ищите:
X-Powered-By: Может указывать наExpress(Node.js),ASP.NET,PHP/8.1.Server: Указывает на веб-сервер (Nginx, Apache, IIS, Cloudflare).- Специфические заголовки: Например,
X-Drupal-CacheилиX-Laravel-Session.
Структура URL и ошибки
- Laravel (PHP): Часто использует стандартные сообщения об ошибках с характерным стилем или пути
/storage/. - Django (Python): При отключенном дебаг-режиме скрыт, но в URL может встречаться
/admin/(стандартная админка Django). - Ruby on Rails: Ошибки могут содержать упоминания
ActionControllerили пути/assets/.
Frontend-фреймворки (React, Vue, Angular)
Их определить проще, так как они работают в браузере:
- Откройте Console в инструментах разработчика.
- Введите
__REACT_DEVTOOLS_GLOBAL_HOOK__(для React) или посмотрите наличие глобальных объектовVueилиangular. - Ищите в исходном коде атрибуты
data-reactroot,ng-app, или подключение файловreact.production.min.js.
SPA и SSR: Если сайт написан на Next.js или Nuxt, вы можете увидеть признаки React/Vue в коде, но серверная часть будет скрыта за Node.js. В заголовках может фигурировать Vercel или Next.js.
Определение хостинга и CDN
Хостинг-провайдер определяется через инфраструктурные данные домена.
WHOIS и DNS
Используйте сервисы типа whois.com или 2ip.ru.
- Введите домен.
- Найдите поле Name Server (NS) или Registrar.
- Посмотрите IP-адрес сайта и сделайте
whoisпо IP. В полеOrgNameилиNetNameбудет указан владелец сервера (например, DigitalOcean, LLC, Amazon Technologies Inc., Beget).
Признаки CDN
Если сайт использует CDN (Content Delivery Network), реальный хостинг может быть скрыт.
- Cloudflare: В заголовках
Serverчасто стоитcloudflare, DNS-записи указывают на серверы Cloudflare. - AWS CloudFront: Заголовки содержат
X-Cache: Hit from cloudfront. - Akamai: Сложная сеть доставки, определяется по специфическим заголовкам
Akamai-Ghost.
Чтобы узнать реальный хостинг за Cloudflare, иногда помогают исторические DNS-записи (сервисы вроде securitytrails.com), если сайт недавно переехал на CDN.
Пошаговый алгоритм проверки
Для максимальной точности действуйте последовательно:
- Быстрый скан: Прогоните сайт через BuiltWith или включите Wappalyzer. Зафиксируйте очевидные технологии.
- Проверка CMS: Если шаг 1 не дал результата, откройте исходный код и поищите маркеры (
wp-content,bitrix,joomla). Попробуйте открыть стандартные пути админок (/admin,/wp-admin). - Анализ заголовков: Во вкладке Network проверьте
X-Powered-ByиServer. Это укажет на язык бэкенда и веб-сервер. - Фронтенд: Проверьте консоль браузера на наличие признаков JS-фреймворков.
- Хостинг: Пробейте IP-адрес через WHOIS. Если используется CDN, обратите внимание на провайдера CDN как на основного инфраструктурного партнера.
Частые ошибки при определении стека
- Доверие только одному инструменту: Детекторы часто ошибаются в кэшированных версиях сайтов или при использовании сложных прокси.
- Путаница между CDN и хостингом: Наличие заголовка Cloudflare не означает, что сайт размещен на Cloudflare (это лишь прокси). Реальный сервер может быть где угодно.
- Игнорирование Headless-архитектуры: Вы можете увидеть, что фронтенд на React, но не найти CMS, потому что контент подтягивается по API из отдельного источника (например, Strapi или Contentful), который скрыт от публичного доступа.
FAQ
Можно ли точно узнать версию CMS? Часто да, по комментариям в коде или файлам манифеста. Но хорошие администраторы скрывают версии, чтобы затруднить взлом.
Что делать, если сайт ничего не показывает? Скорее всего, это самописное решение (Custom Code) или сильно модифицированная система. В таком случае можно судить только по языку программирования (через заголовки) и структуре URL.
Безопасно ли сканировать чужие сайты? Использование пассивных методов (просмотр кода, WHOIS, онлайн-сервисы) абсолютно законно и безопасно. Активное сканирование портов или подбор паролей является незаконным.
Как определить, используется ли конструктор сайтов (Tilda, Wix)?
Конструкторы обычно оставляют очень явные следы в виде специфических классов CSS, скриптов и поддоменов для статики (например, assets.wixapps.net). Они также часто блокируют доступ к стандартным системным файлам.