testssl.sh

Network Analysis v3.2.3 · 12.02.2026 активный

Bash-инструмент для комплексной проверки TLS/SSL на любом порту и протоколе — тестирует шифры, версии протоколов и известные уязвимости (BEAST, POODLE, Heartbleed, ROBOT, DROWN); вывод в CSV, JSON, HTML.

v3.2.3
12.02.2026 current
Добавлен 26.06.2026 · Обновлён 26.06.2026 · Network Analysis
Установка
# Из исходников (не требует установки, только bash + openssl)
git clone --depth 1 https://github.com/testssl/testssl.sh
cd testssl.sh && chmod +x testssl.sh

# Или скачать архив релиза
wget https://github.com/testssl/testssl.sh/archive/refs/tags/3.2.zip
unzip 3.2.zip && cd testssl.sh-3.2

# Пример: полная проверка TLS
./testssl.sh https://example.com

# Проверка конкретного порта
./testssl.sh 192.168.1.1:8443
переведено ИИ

Введение

GitHub forks GitHub Repo stars GitHub Created At GitHub last commit GitHub commit activity Docker License Static Badge Static Badge Static Badge Vim Visual Studio Code

Mastodon Follow Bluesky

testssl.sh — бесплатная утилита командной строки, которая проверяет серверную службу на любом порту на поддержку шифров, протоколов TLS/SSL, а также на наличие некоторых криптографических уязвимостей.

Основные возможности

  • Чёткий вывод: вы легко можете определить, всё ли в порядке.
  • Вывод в машиночитаемом формате (CSV, два формата JSON), а также вывод в HTML.
  • Не требует установки или настройки чего-либо. Никаких gem, CPAN, pip и тому подобного.
  • Работает «из коробки»: Linux, MacOS, FreeBSD, NetBSD, WSL2, MSYS2/Cygwin, для OpenBSD нужен bash.
  • Предоставлен Dockerfile, есть также официальная сборка контейнера на dockerhub и GHCR.
  • Гибкость: вы можете проверять любой сервис с поддержкой SSL/TLS и STARTTLS, не только веб-серверы на порту 443.
  • Набор инструментов: несколько параметров командной строки помогут вам провести ваш тест и настроить ваш вывод.
  • Надёжность: возможности тщательно тестируются.
  • Конфиденциальность: результат видите только вы, а не третья сторона.
  • Свобода: это 100% программное обеспечение с открытым исходным кодом. Вы можете изучить код и увидеть, что там происходит.
  • Разработка ведётся свободно и открыто на GitHub. Участие и вклад приветствуются.
  • Юнит-тесты обеспечивают зрелость: проверка на согласованность, валидность JSON, запуск в Linux и MacOS, и многое другое!

Лицензия

Это программное обеспечение бесплатное. Вы можете использовать его на условиях GPLv2, см. LICENSE.

Указание авторства важно для будущего этого проекта — и в интернете в том числе. Поэтому, если вы предлагаете сканер на основе testssl.sh как публичную и/или платную интернет-услугу, настоятельно рекомендуется указывать вашей аудитории, что вы используете эту программу и где её можно получить. Это помогает нам получать исправления ошибок, другую обратную связь и больше вклада.

Совместимость

Testssl.sh работает на любом дистрибутиве Linux/BSD и MacOS «из коробки». К моменту разработки очень старой версии 2.9 большинство ограничений, вызванных отключенными функциями клиента openssl, было устранено благодаря проверкам на основе bash-сокетов. Поставляется старая версия OpenSSL-bad, но в наши дни вы также можете использовать любую версию LibreSSL или OpenSSL. testssl.sh также работает «из коробки» на других уноидных системах, при условии, что они имеют /bin/bash >= версии 3.2 и установлены стандартные утилиты, такие как sed и awk. Windows (с использованием MSYS2, Cygwin или WSL/WSL2) тоже работает. При запуске testssl.sh выполняется неявная (молчаливая) проверка наличия бинарных файлов. System V Unix, вероятно, потребуется установить GNU grep.

Уведомления об обновлениях можно найти на github или самые важные на mastodon или bluesky. twitter больше не используется.

Установка

Вы можете загрузить testssl.sh ветки 3.3dev, просто клонировав этот git-репозиторий:

git clone --depth 1 https://github.com/testssl/testssl.sh.git --branch 3.3dev

3.3dev — это последняя ветка разработки, которая развилась из стабильной ветки 3.2. Мы стараемся не проводить больших экспериментов в ветке разработки, однако смысл разработки в том, что будут происходить изменения, и для их устояться может потребоваться некоторое время.

Docker

Testssl.sh имеет минимальные требования. Как уже говорилось, вам не нужно ничего устанавливать или собирать. Вы можете просто запустить его из скачанной/клонированной директории. Однако, если вы не хотите скачивать github-репозиторий в выбранную вами директорию, вы можете вытянуть контейнер из dockerhub и запустить его:

docker run --rm -it ghcr.io/testssl/testssl.sh <your_cmd_line>

Или, если вы клонировали этот репозиторий, вы также можете просто перейти в каталог установки (cd) и запустить

docker build . -t imagefoo && docker run --rm -t imagefoo testssl.net

Для получения дополнительной информации, пожалуйста, обратитесь к Dockerfile.md.

Без гарантий

Использование программы осуществляется без каких-либо гарантий. Используйте её на свой страх и риск.

Testssl.sh предназначен для использования как самостоятельный инструмент командной строки. Хотя мы старались применять лучшие практики безопасности и очищать внешний ввод, мы не можем гарантировать, что в программе отсутствуют уязвимости. Запуск в качестве веб-сервиса может представлять угрозы безопасности, и вам рекомендуется применять дополнительные меры безопасности. Валидируйте ввод от пользователя и от всех запрашиваемых сервисов.

Статус

Учитывая текущий кадровый ресурс, мы поддерживаем только версии n-1. Вы смотрите на ветку 3.3.dev, где ведется дальнейшая разработка, прежде чем 3.4 станет стабильной версией, а 3.2 — устаревшей стабильной. Если вы колеблетесь по поводу изменений, вам следует использовать 3.2. Версия 3.0.10 была последней, больше обновлений не будет.

Документация

  • .. она есть для чтения. Пожалуйста, читайте ее :-) -- по крайней мере, перед тем как задавать вопросы. Смотрите страницу man в формате groff, html и markdown в ~/doc/.
  • https://testssl.sh/ поможет вам начать работу.
  • Также существует документация, сгенерированная ИИ, смотрите также ниже.
  • Уилл Хант предоставил более длинное описание. Хотя оно было написано для более старой версии (2.8), оно по-прежнему содержит справочную информацию.

Участие в разработке

Многие участники уже помогли проекту достичь нынешнего состояния — смотрите CREDITS.md. Ваш вклад также будет приветствоваться! Существует список задач. Чтобы начать, поищите задачи с метками хорошая первая задача, для решения или нужна помощь. Последние более сложные. Вы также можете поискать задачи по документации, или помочь с модульным тестированием или улучшением github actions.

Рекомендуется прочитать CONTRIBUTING.md, а также обратить внимание на Стиль кодирования. Прежде чем писать PR со сотнями строк, лучше сначала создайте задачу.

В целом существует также некоторая нагрузка по сопровождению, например, поддержка рукопожатий и хранилищ CA и т.д. Если вы считаете, что можете внести вклад и нести ответственность за одну из таких задач сопровождения, пожалуйста, дайте знать. Это освободит ресурсы, которые мы сможем использовать для разработки.

Отчёты об ошибках

Отчёты об ошибках важны. Они делают проект более надёжным.

Пожалуйста, сообщайте об ошибках в трекере задач на GitHub. Не забудьте предоставить подробную информацию, смотрите шаблон для задач, а также дополнительные сведения по ссылке: https://github.com/testssl/testssl.sh/wiki/Bug-reporting. Никто пока не умеет читать ваши мысли. И видит только ваш экран ;-)

Вы также можете отлаживать проблемы самостоятельно, смотрите здесь.


Внешние/связанные проекты

По вопросам, не связанным напрямую с кодом testssl.sh, обращайтесь к соответствующим проектам ниже.

Документация с ИИ от DeepWiki

  • https://deepwiki.com/testssl/testssl.sh

Веб-интерфейс

  • https://github.com/johannesschaefer/webnettools
  • https://github.com/TKCERT/testssl.sh-webfrontend

Массовый сканер с параллельным сканированием и поиском результатов в Elasticsearch

  • https://github.com/TKCERT/testssl.sh-masscan

Проверка конфиденциальности с использованием testssl.sh

  • https://privacyscore.org

Плагины для Nagios / Icinga

  • https://github.com/dnmvisser/nagios-testssl (Python 3)
  • https://gitgud.malvager.net/Wazakindjes/icinga2_plugins/src/master/check_testssl.sh (Shell)

pentest2xlsx: генерация файлов Excel из CSV

  • https://github.com/AresS31/pentest2xlsx (python)

Brew пакет

Демон для пакетного выполнения файлов команд testssl.sh

  • https://github.com/bitsofinfo/testssl.sh-processor

Демон для пакетной обработки JSON-файлов результатов testssl.sh для отправки оповещений в Slack, реактивного копирования и т.д.

  • https://github.com/bitsofinfo/testssl.sh-alerts

GitHub Actions

  • https://github.com/marketplace/actions/testssl-sh-scan

php-ssl: интеграция сканирования сертификатов

  • https://github.com/phpipam/php-ssl
Комментарии
Войдите, чтобы оставить комментарий