Перехватывать TLS/HTTP/2 из браузеров

Я могу перехватывать входящий и исходящий трафик Chrome, экспортируя журнал ключей SSL и ссылаясь на него в Wireshark.

Я хочу сравнить поведение Chrome с поведением других основных браузеров. Как я могу получить ключи от этих браузеров в формате, понятном Wireshark?

Конкретно

  • Край
  • IE11
  • Опера
  • Сафари

161
1

Ответ:

Решено

Я не верю, что эти браузеры позволяют вам экспортировать ключ SSL, как это делают Chrome и Firefox, возможно, за исключением Opera (поскольку это браузер на основе Chromium). Следует также отметить, что Edge находится в процессе перехода на Chromium, поэтому, по-видимому, скоро у него появится и эта функция.

В зависимости от того, почему вы хотите это сделать, альтернативой перехвату трафика является настройка веб-сервера и регистрация ответов. Например, Nghttpd позволяет вам видеть каждый из полученных (и отправленных) кадров. Я использовал это для исследования различных схем приоритизации, используемых браузерами как описано в моей книге (зарегистрируйте бесплатную учетную запись, чтобы бесплатно читать этот раздел в течение нескольких минут каждый день). По сути, я создал фиктивную страницу с несколькими типами ресурсов и запустил сервер nghttpd в каталоге с этой страницей в подробном режиме и искал информацию о кадре, которую искал:

nghttpd -v 443 server.key server.crt | grep -E "PRIORITY|path|weight"

А затем запросил http://локальный хост из каждого интересующего меня браузера и увидел детали кадра, отправленные каждым браузером.