
Мой простой швейцарский нож для устранения неполадок и профилирования http/https.
htrace.sh — это shell-скрипт для диагностики и профилирования http/https. Он также является простой обёрткой над несколькими инструментами безопасности с открытым исходным кодом.
Для более детального понимания htrace.sh, его параметров, функций и того, как всё это работает, запустите htrace.sh --examples или посмотрите Вики.
Для установки htrace.sh:
# Клонируйте этот репозиторий
git clone https://github.com/trimstray/htrace.sh
# Перейдите в директорию
cd htrace.sh
# Установите
sudo ./setup.sh install
# Установите зависимости (Debian 8/9, Ubuntu 18.x и MacOS)
# - рекомендуется собрать docker-образ или установить зависимости вручную
# - перед запуском посмотрите, что делает скрипт и какие пакеты доступны в вашем репозитории
sudo ./dependencies.sh
# Показать примеры
htrace.sh --examples
# Запустите приложение
htrace.sh -u https://nmap.org -s -h
- символическая ссылка на
bin/htrace.shпомещается в/usr/local/bin- man-страница помещается в
/usr/local/man/man8
или соберите docker-образ:
# Клонируйте этот репозиторий
git clone https://github.com/trimstray/htrace.sh
# Перейдите в директорию и соберите docker-образ
cd htrace.sh && build/build.sh
# Запустите приложение
docker run --rm -it --name htrace.sh htrace.sh -u https://nmap.org -s -h
Предоставляет следующие опции:
htrace.sh v1.1.7
Использование:
htrace.sh <опция|длинная-опция> [значение]
Примеры:
htrace.sh -u https://example.com -s -h -b
htrace.sh -u https://example.com --all-scans
Опции:
--help показать это сообщение
--version показать версию скрипта
--examples показать примеры использования скрипта
Стандартные:
-u|--url <значение> установить целевой url с протоколом http/https
-s|--ssl показать основные параметры ssl сервера/соединения
-h|--headers показать заголовки ответа
-b|--body показать тело ответа
-M|--req-method <значение> установить метод запроса (по умолчанию: GET)
-H|--req-header <значение> установить заголовок(и) запроса
-p|--proxy <значение> установить прокси-сервер (не для внешних инструментов)
-r|--resolve <значение> разрешить хост+порт в этот адрес
-i|--iface <значение> установить сетевой интерфейс (или адрес)
-a|--all-scans использовать все внешние инструменты безопасности
Инструменты безопасности:
--testssl проверить ssl протоколы и шифры (testssl.sh)
--observatory проанализировать заголовки веб-сайта (mozilla observatory)
--deep-analysis глубокий анализ ssl веб-сервера (ssllabs)
--mixed-content сканировать веб-сайт на предмет незащищённых ресурсов (mixed-content-scan)
--nse сканировать веб-сайт и домен с помощью библиотеки nse (nmap)
--waf обнаружить и обойти брандмауэры веб-приложений (wafw00f)
--dns перечислить поддомены (subfinder) и выполнить передачу зоны
--http2 проверить HTTP/2 (nghttp2)
Расширенные:
--ssl-bin <путь> установить путь к бинарнику openssl
--ssl-debug отладка ssl-соединения
--cache-bypass <значение> попытаться обойти (прокси) кеш
--user-agent <значение> установить заголовок 'User-Agent'
--referer <значение> установить заголовок 'Referer'
--auth <значение> установить метод аутентификации
--httpv <значение> установить версию http
--tlsv <значение> установить версию tls
--ciph <значение> набор криптографических алгоритмов
--max-redirects <число> установить максимальное количество перенаправлений (по умолчанию: 10)
--timeout <число> установить максимальное время ожидания (по умолчанию: 15)
--hide-src-ip скрыть исходный ip из вывода
Смотрите это.
Этот проект существует благодаря всем людям, которые вносят свой вклад.
GPLv3 : http://www.gnu.org/licenses/
Бесплатное программное обеспечение, Да!