Захват HTTPS-трафика в открытом виде?

У меня есть локальное приложение (которое я не написал и не могу изменить), которое взаимодействует с удаленным веб-сервисом. Он использует HTTPS, и я хотел бы посмотреть, что в трафике.

Есть ли способ, которым я могу сделать это? Я бы предпочел систему Windows, но я рад установить прокси-сервер под Linux, если это облегчит задачу.

Что я рассматриваю:

  1. Перенаправление веб-сайта путем взлома моего файла hosts (или настройки альтернативного DNS).
  2. Установка HTTPS-сервера на этом сайте с самозаверяющим (но доверенным) сертификатом.
  3. По-видимому, WireShark может видеть, что находится в HTTPS, если вы передадите ему закрытый ключ. Я никогда не пробовал это.
  4. Так или иначе, перенаправьте этот трафик на реальный сервер (т. Е. Это полномасштабная «атака человека посередине»).

Это звучит разумно? Может ли WireShark действительно увидеть, что находится в HTTPS-трафике? Может кто-нибудь указать мне на подходящий прокси (и конфигурации для того же)?

2.07.2009 08:30:07
6 ОТВЕТОВ
РЕШЕНИЕ

Имеет ли Скрипач делать то , что вы хотите?

Что такое скрипач?

Fiddler - прокси-сервер отладки в Интернете, который регистрирует весь трафик HTTP (S) между вашим компьютером и Интернетом. Fiddler позволяет вам проверять весь трафик HTTP (S), устанавливать точки останова и «возиться» с входящими или исходящими данными. Fiddler включает мощную подсистему сценариев на основе событий и может быть расширена с использованием любого языка .NET.

Fiddler является бесплатной программой и может отлаживать трафик практически из любого приложения, включая Internet Explorer, Mozilla Firefox, Opera и многие другие.

15
16.08.2018 14:54:16
Да, он может выступать в роли посредника для запросов HTTPS - обратите внимание, что он обслуживает неподписанный сертификат, поэтому если вашему приложению требуются доверенные сертификаты, вам придется либо отключить это требование, либо доверять сертификату. - который Фидлер
Zhaph - Ben Duguid 2.07.2009 08:55:06
Я получил его просмотр трафика HTTPS из Internet Explorer и Chrome; теперь, чтобы узнать, будет ли это работать для рассматриваемого приложения ...
Roger Lipscombe 2.07.2009 09:23:11
... за исключением того, что рассматриваемое приложение работает только с правами администратора, и Fiddler, похоже, не хочет устанавливать свой HTTPS-сертификат под моей учетной записью администратора (я запускаю LUA большую часть времени).
Roger Lipscombe 2.07.2009 09:29:45
Вы можете полностью скопировать самоподписанный корневой сертификат Fiddler в хранилище Trusted Root.
EricLaw 19.07.2009 17:03:47

Вам необходимо настроить прокси для локального приложения и, если оно не соблюдает настройки прокси, установить прозрачный прокси и направить весь трафик https в него, прежде чем выходить на улицу. Примерно так может быть «человек» посередине: http://crypto.stanford.edu/ssl-mitm

Кроме того, вот краткие инструкции по архивированию с помощью wireshark: http://predev.wikidot.com/decrypt-ssl-traffic

4
2.07.2009 08:40:56
  1. Использование прокси-сервера https для мониторинга зависит от типа рукопожатия. Если ваше локальное приложение не проверяет сертификат сервера по подписи CA, которую вы не можете подделать, и сервер не проверяет сертификат локального приложения (или если у вас есть сертификат для настройки на прокси https), вы можете настроить прокси https для контролировать трафик https. В противном случае, я думаю, что невозможно контролировать трафик с помощью https прокси.

  2. Другой способ, которым вы можете попробовать, это добавить измерительный зонд в подпрограммы вашей клиентской программы, где она отправляет и получает сообщения из своей библиотеки https. Это требует некоторого реверс-инжиниринга, но должно работать для вас во всех ситуациях.

0
2.07.2009 08:59:40

Я бы порекомендовал WireShark, это лучший инструмент для отслеживания трафика. Хотя я не уверен, что вы можете увидеть с включенным SSL. Может быть, если вы поставите его с сертификатом?

0
2.07.2009 08:47:54
Сертификат не достаточно. В противном случае мы все расшифровываем весь трафик SSL. Вам нужен закрытый ключ для расшифровки трафика ... как указано в OP ...
reiniero 18.06.2012 09:55:12

Wireshark определенно может отображать зашифрованные потоки TLS / SSL в виде открытого текста. Однако для этого вам обязательно понадобится закрытый ключ сервера. Закрытый ключ должен быть добавлен в Wireshark как опция SSL в настройках. Обратите внимание, что это работает, только если вы можете следить за потоком SSL с самого начала. Он не будет работать, если SSL-соединение используется повторно.

Для Internet Explorer этого (повторное использование сеанса SSL) можно избежать, очистив состояние SSL с помощью диалогового окна «Свойства обозревателя». В других средах может потребоваться перезапуск браузера или даже перезагрузка системы (чтобы избежать повторного использования сеанса SSL).

Другое ключевое ограничение - использование шифра RSA. Wireshark не может декодировать поток TLS / SSL, использующий DFH (Диффи-Хеллмана).

Предполагая, что вы можете удовлетворить ограничения, указанные выше, команда правой кнопкой мыши «Follow SSL Stream» работает довольно хорошо.

10
9.09.2012 21:42:38
Конкретные шаги (или ссылка на пост) для настройки этого было бы здорово.
Larry K 25.11.2013 05:10:02

Вы должны также рассмотреть Чарльза . Из описания продукта на момент ответа:

Charles - это прокси-сервер HTTP / HTTP-монитор / обратный прокси-сервер, который позволяет разработчику просматривать весь трафик HTTP и SSL / HTTPS между их компьютером и Интернетом. Это включает в себя запросы, ответы и заголовки HTTP (которые содержат файлы cookie и информацию о кэшировании).

3
14.04.2015 20:48:51