WhatWeb
Описание WhatWeb
WhatWeb идентифицирует веб-сайты. Цель этой программы ответить на вопрос «Чем является этот веб-сайт?». WhatWeb распознает веб-технологии, в том числе систему управления контентом (CMS), платформы для ведения блогов, пакеты статистики/аналитики, библиоотеки JavaScript, веб-сервера и встроенные устройства. WhatWeb имеет более 1700 плагинов, каждый из которых для распознавания чего-то одного. WhatWeb также идентифицирует номера версий, email адреса, ID аккаунтов, модули веб-платформ, SQL ошибки и прочее.
WhatWeb может быть незаметным и быстрым тщательным и медленным. Чтобы контролировать компромисс между скоростью и достоверностью, WhatWeb поддерживает уровни агрессивности. Когда вы посещаете веб-сайт в вашем браузере, передаваемые данные включают много подсказок о технологиях, которые лежат в основе работы веб-сайта. Иногда единичный визит веб-страницы содержит достаточно информации для идентификации веб-сайта, но когда этого недостаточно, WhatWeb может продолжить опрос веб-сайта. Уровень агрессивности по умолчанию называется «незаметный», он является самым быстрым и требует только один HTTP запрос к веб-сайту. Это подходит для сканирования публичных веб-сайтов. Более агрессивные режимы были созданы для использования в тестах на проникновение.
Большинство плагинов WhatWeb являются основательными и учитывают в своей работе широкий диапазон данных. К примеру большинство веб-сайтов на WordPress можно идентифицировать по HTML мета тегу вроде такого '<meta name="generator" content="WordPress 2.6.5">', но небольшое количество веб-сайтов на WordPress удаляет этот идентификационный тэг, что не мешает WhatWeb. Плагин WordPress в WhatWeb имеет более 15 тестов, которые включают проверку иконки сайта, стандартные файлы установки, страницы входа и проверку "/wp-content/" внутри относительных ссылок.
Особенности
- Более1700 плагинов
- Управляемый компромисс между скоростью/незаметностью и достоверностью
- Тонкая настройка производительности. Управление количеством одновременно сканируемых веб-сайтов
- Разные форматы логов: краткий (удобен для обработки grep), вербальный (удобный для чтения человеком), XML, JSON, MagicTree, RubyObject, MongoDB, ElasticSearch, SQL
- Поддержка прокси включая TOR
- Настраиваемые HTTP заголовки
- Базовая HTTP аутентификация
- Правильная обработка редиректа веб-страницы
- IP диапазоны в стиле Nmap
- Нечёткое совпадение
- Уверенность в достоверности результата
- Пользовательские плагины, заданные в командной строке
Домашняя страница: https://github.com/urbanadventurer/WhatWeb
Автор: Andrew Horton (urbanadventurer) и Brendan Coles (bcoles)
Лицензия: GPLv2
Справка по WhatWeb
Использование:
whatweb [опции] <один или несколько URL>
Опции WhatWeb:
ВЫБОР ЦЕЛИ: <ЦЕЛИ> Введите URL, имя хоста(ов), IP адрес(а), имя файла(ов) или диапазоны IP в формате nmap. --input-file=ФАЙЛ, -i Считать цели из файла. Вы можете передать имена хостов или URL напрямую с -i /dev/stdin. МОДИФИКАЦИИ ЦЕЛЕЙ: --url-prefix Добавить префикс к целевому URL. --url-suffix Добавить суффикс к целевому URL. --url-pattern Вставить цели в URL. например example.com/%insert%/robots.txt АГРЕССИЯ: Уровень агрессии контролирует баланс между скоростью/незаметностью и достоверностью. --aggression, -a=УРОВЕНЬ Установить уровень агрессии. По умолчанию: 1. 1. Незаметный Сделать один HTTP запрос на каждую цель и также следовать перенаправлениям. 3. Агрессивный Если плагин уровня 1 совпадает, будут сделаны дополнительные запросы. 4. Тяжёлый Делает множество HTTP запросов на каждую цель. Пробуются URL из всех плагинов. HTTP ОПЦИИ: --user-agent, -U=АГЕНТ Установить ПОЛЬЗОВАТЕЛЬСКИЙ АГЕНТ вместо WhatWeb/0.4.9. --header, -H Добавить HTTP заголовок. Напр. "Foo:Bar". Указание стандартного заголовка заменит его. Указание пустого значения, напр.. "User-Agent:" сотрёт его. --follow-redirect=КОГДА Контролирует, когда следовать перенаправлениям. КОГДА может быть `never', `http-only', `meta-only', `same-site', `same-domain' или `always'. По умолчанию: always. --max-redirects=ЧИСЛО Максимальное количество редиректов. По умолчанию: 10. АУТЕНТИФИКАЦИЯ: --user, -u=<пользователь:пароль> Базовая аутентификация HTTP. --cookie, -c=КУКИЗ Использовать кукиз, напр. 'имя=значение; имя2=значение2'. ПРОКСИ: --proxy <имя хоста[:порт]> Установить имя хоста и порт прокси. По умолчанию: 8080. --proxy-user <имя пользователя:пароль> Установить пользователя прокси и пароль. ПЛАГИНЫ: --list-plugins, -l Список плагинов. --info-plugins, -I=[ПОИСК] Выводит список всех плагинов с подробной информацией. Опционально ищет по ключевым словам, которых можно указать несколько через запятую. --search-plugins=СТРОКА Поиск плагинов по ключевому слову. --plugins, -p=СПИСОК Выбор плагинов. СПИСОК это разделённый запятой набор отобранных плагинов. По умолчанию это all (все). Каждый элемент может быть директорией, файлом или именем плагина и может опционально иметь модификатор +/-. Пример: +/tmp/moo.rb,+/tmp/foo.rb title,md5,+./plugins-disabled/ ./plugins-disabled,-md5 -p + это сокращение для -p +plugins-disabled. --grep, -g=СТРОКА Поиск СТРОКИ в HTTP ответах. Выдаёт отчёт плагином под названием Grep. --custom-plugin=ОПРЕДЕЛЕНИЕ Задаёт пользовательский плагин, названный Custom-Plugin, Пример: ":text=>'powered by abc'" ":version=>/powered[ ]?by ab[0-9]/" ":ghdb=>'intitle:abc \"powered by abc\"'" ":md5=>'8666257030b94d3bdb46e05945f60b42'" "{:text=>'powered by abc'}" --dorks=ПЛАГИН Выводит список Google дорков для выбранного плагина. ВЫВОД: --verbose, -v Вербальный вывод, включает описания плагинов. Используйте дважды для отладки. --colour,--color=КОГДА управляет использованием цвета. КОГДА может быть `never', `always' или `auto'. --quiet, -q Не показывать краткий журнал в STDOUT. --no-errors Подавлять сообщения об ошибках. ЛОГИ: --log-brief=ФАЙЛ Краткий лог, однострочный вывод. --log-verbose=ФАЙЛ Вербальный вывод лога. --log-errors=ФАЙЛ Журнал ошибок. --log-xml=ФАЙЛ Лог в формате XML. --log-json=ФАЙЛ Лог в формате JSON. --log-sql=ФАЙЛ Журнал выражений SQL INSERT. --log-sql-create=ФАЙЛ Создать таблицы базы данных SQL. --log-json-verbose=ФАЙЛ Вербальный лог в формате JSON. --log-magictree=ФАЙЛ Лог в формате MagicTree XML. --log-object=ФАЙЛ Лог в формате Ruby object inspection. --log-mongo-database Имя базы данных MongoDB. --log-mongo-collection Имя коллекции MongoDB. По умолчанию: whatweb. --log-mongo-host Имя хоста или IP адрес MongoDB. По умолчанию: 0.0.0.0. --log-mongo-username Имя пользователя MongoDB. По умолчанию: nil. --log-mongo-password Пароль MongoDB. По умолчанию: nil. --log-elastic-index Имя индекса для хранения результатов. По умолчанию: whatweb --log-elastic-host Хост:порт elastic http интерфейса. По умолчанию: 127.0.0.1:9200 ПРОИЗВОДИТЕЛЬНОСТЬ И СТАБИЛЬНОСТЬ: --max-threads, -t Количество одновременных потоков. По умолчанию: 25. --open-timeout Время в секундах. По умолчанию: 15. --read-timeout Время в секундах. По умолчанию: 30. --wait=СЕКУНДЫ Ждать СЕКУНД между подключениями. Это полезно, когда используется единичный поток. СПРАВКА И ПРОЧЕЕ: --short-help Краткая справка. --help, -h Полная справка по использованию. --debug Выводить ошибки в плагинах. --version Показать информацию о версии.
Руководство по WhatWeb
Страница man присутствует, но практически полностью повторяет справку.
Примеры запуска WhatWeb
Просканировать сайт example.com:
whatweb example.com
Просканировать reddit.com slashdot.org с вербальным описанием плагинов (-v):
whatweb -v reddit.com slashdot.org
Агрессивное сканирование (-a 3) сайта wired.com для определения точной версии WordPress:
whatweb -a 3 www.wired.com
Быстро просканировать локальную сеть (192.168.0.0/24) и подавлять ошибки (--no-errors):
whatweb --no-errors 192.168.0.0/24
Просканировать локальную сеть (192.168.0.0/24) на https веб-сайты (--url-prefix https://) и подавлять ошибки (--no-errors):
whatweb --no-errors --url-prefix https:// 192.168.0.0/24
Просканировать на crossdomain политики в Alexa Top 1000:
whatweb -i plugin-development/alexa-top-100.txt --url-suffix /crossdomain.xml -p crossdomain_xml
Установка WhatWeb
Программа предустановлена в Kali Linux.
Установка в BlackArch
Программа предустановлена в BlackArch.
Установка в Ubuntu и Linux Mint
sudo apt install whatweb ruby-json ruby-rchardet
Информация об установке в другие операционные системы будет добавлена позже.
Скриншоты WhatWeb
Инструкции по WhatWeb
- Идентификация технологий, на которых работает веб-сайт (базовое и продвинутое использование WhatWeb)
Comments are Closed