В этой статье мы рассмотрим, как вы можете отлаживать трафик HTTP / HTTPS в вашей системе Linux.
Мы будем использовать скрипт OpenSSL и htrace.sh.
htrace.sh – простой скрипт оболочки, используемый для отладки трассировки трафика HTTP / https.
Кроме того, он также может быть использован для сканирования домена с помощью внешних средств безопасности, в основном Mozilla Observatory и SSL Labs API.
С другой стороны, OpenSSL – это криптографический инструментарий, который использует протоколы SSL (V2 и 3) и TLS v1 для отладки трафика.
1) Использование скрипта htrace
Скрипт используется для проверки базовой конфигурации SSL, конфигурации домена веб-серверов и обратных прокси, заголовков ответов для каждого выполняемого запроса и проведения анализа перенаправления с целью устранения переадресации.
Кроме того, более подробную информацию можно отобразить с помощью простой команды скрипта.
Он включает в себя:
- Удаленный адрес
- HTTP версия
- Сервер, на котором работает сайт
- Тип содержимого
- Кодировка содержимого
Требования
Прежде чем продолжить, убедитесь, что в вашей системе установлено следующее:
- Curl 7.49 или более поздний
- OpenSSL
- Git
Установка и запуск скрипта htrace.sh
Во-первых, клонируйте репозиторий htrace
git clone https://github.com/trimstray/htrace.sh
Вывод
Cloning into 'htrace.sh'... remote: Counting objects: 300, done. remote: Compressing objects: 100% (141/141), done. remote: Total 300 (delta 151), reused 288 (delta 139), pack-reused 0 Receiving objects: 100% (300/300), 421.03 KiB | 0 bytes/s, done. Resolving deltas: 100% (151/151), done. Checking connectivity... done.
Перейдите в каталог htrace
cd htrace.sh
Затем установите htrace, используя следующую команду:
./setup.sh install
Вывод
Create symbolic link to /usr/local/bin Create man page to /usr/local/man/man8
Использование htrace
Теперь мы можем запустить приложение и протестировать домен.
Синтаксис команды
htrace.sh --domain https://example.com
Другие варианты включают в себя:
Options: --help show this message -d|--domain set domain name -h|--headers show response headers
В приведенной ниже команде мы собираемся протестировать google.com
htrace.sh --domain https://google.com --headers
Вывод
Вывод ниже с сайта nmap.org
2) Использование OpenSSL
Помимо использования скрипта оболочки htrace.sh, вы можете использовать OpenSSL для отладки проблемы сертификата SSL из командной строки.
OpenSSL – это надежный криптографический инструментарий общего назначения, который использует сетевые протоколы Secure Sockets Layer (SSL v2 / v3) и Transport Layer Security (TLS v1).
Также включена команда openssl, которую вы можете использовать для отладки проблем с сертификатами SSL.
Использование
openssl s_client -connect ssl.servername.com:443
Ниже приведен пример того, как команда может использоваться для подключения к itisgood.ru на порту 443
openssl s_client -connect www.itisgood.ru:443
Пример вывода
CONNECTED(00000003) depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root verify return:1 depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO ECC Certification Authority verify return:1 depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO ECC Domain Validation Secure Server CA 2 verify return:1 depth=0 OU = Domain Control Validated, OU = PositiveSSL Multi-Domain, CN = ssl374062.cloudflaressl.com verify return:1 --- Certificate chain 0 s:/OU=Domain Control Validated/OU=PositiveSSL Multi-Domain/CN=ssl374062.cloudflaressl.com i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Domain Validation Secure Server CA 2 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Domain Validation Secure Server CA 2 i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Certification Authority 2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Certification Authority i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root --- Server certificate -----BEGIN CERTIFICATE-----