Журнал HTTP и HTTPS браузер трафика, расшифровывая последний


14

Есть ли способ сохранить все сообщения браузера HTTP и HTTPS (включая запрос, ответ, полные заголовки и текст) в файлы на моем компьютере?

Связь HTTPS должна быть сохранена расшифрована.

В идеале я бы искал что-то вроде расширения для Firefox или Google Chrome.

Это должно работать на Linux.

Ответы:


4

HAR - это HTTP-архив, и это именно то, что вы хотите сохранить (включая незашифрованный HTTPS).

К счастью, теперь это основная особенность всех основных браузеров (это было не тогда, когда вы задавали вопрос). Больше не нужно сторонних расширений.

В Firefox (v41 +):

  • Запустите Инструменты разработчика Firefox в сетевом режиме (вверху справа меню> Разработчик> Сеть или ctrl-shift-Q)
  • Воспроизведите целевой сценарий
  • Сохраните снимок, щелкнув правой кнопкой мыши по сетке и выбрав «Сохранить все как HAR»
  • Экспорт захвата в файл HAR

Другой браузер:

В последних версиях всех браузеров вы можете легко сохранить HAR:

https://toolbox.googleapps.com/apps/har_analyzer/


6

HTTPFox - это расширение Firefox, которое сделает эту работу.

=== РЕДАКТИРОВАТЬ ===

Щелкните правой кнопкой мыши панель запросов и выберите «Копировать все строки». Затем вы можете сохранить его в любом понравившемся вам редакторе - например, в Openoffice. Пожалуйста, смотрите изображение, которое я предоставил.

Ответ


Я так не думаю. Я только что установил HttpFox 0.8.9 и не вижу способа сохранить весь зарегистрированный трафик в файлы. Обратите внимание, что у меня есть тысячи запросов HTTP (S), и я не хочу тысячу кликов, чтобы сохранить все из них. Пожалуйста, уточните, как бы вы сохранили все данные, используя HttpFox.
Очки

Я так думаю, шеф. Смотрите редактирование моего ответа.
slotishtype

1
@slotistype: Спасибо за разъяснение изображения. Я не знал о Копировать все строки раньше, поэтому попробовал, как вы и предлагали. Это было очень легко найти, используя предоставленное вами изображение. К сожалению, он не копирует HTTP-запрос и тело ответа, поэтому это не решение моего вопроса.
Очки

@pts мой плохой Просто заметил это. Я не знаю другого инструмента, если только вы не введете что-то вне firefox. Удачи
slotishtype

К вашему сведению в HttpFox есть вкладка « Содержимое », где я могу просмотреть тело ответа - за исключением некоторых запросов, о которых говорится Error loading content (NS_ERROR_DOCUMENT_NOT_CACHED). Но мне нужно тело ответа на все запросы, поэтому HttpFox не может быть решением этой проблемы.
Очки

3

Fiddler - это то, что вы должны учитывать, даже если это не расширение, а отдельное приложение.


1
Извините, Фидлер не работает для меня. потому что это требует Microsoft Windows. У меня есть Ubuntu. Расширение браузера, как я изначально просил, вероятно, будет работать на нескольких операционных системах.
Очки

3

Я нашел этот ответ, желая сделать это, и ни один из ответов здесь не подходил мне, потому что мне нужно было сбросить тела ответов HTTPS, так же, как OP. Итак, для тех, кто приземлился здесь, как я, вот что я нашел.

В конце концов я попал на mitmproxy , который не является расширением Firefox, но выполняет задачу регистрации всего трафика Firefox. Это все Python, поэтому я установил его pip install mitmproxy- используйте менеджер пакетов, если хотите.

Запустил его mitmproxyдля начальной настройки / отладки, а затем использовал mitmdumpдля сброса потока, как только у меня все заработало и улучшилось.

Я просто настроил Firefox для использования 127.0.0.1:8080в качестве прокси-сервера (8080 - порт по умолчанию для mitmproxy), и я увидел весь мой трафик Firefox, проходящий через mitmproxy. Чтобы включить HTTPS-трафик, вы должны принять сертификат, который создает mitmproxy - с настроенным прокси-сервером просто перейдите на «магический адрес» http://mitm.it в Firefox, нажмите кнопку «Другие», установите флажки чтобы доверять сертификату, и нажмите ОК.

Чтобы вывести незашифрованное тело ответа, мне пришлось использовать очень простой встроенный скрипт :

from libmproxy.model import decoded

def response(context, flow):
    with decoded(flow.response):  # automatically decode gzipped responses.
        with open("body.txt","ab") as f:
            f.write(flow.response.content)

Gist здесь - скачать его как save_response.pyи использовать его с mitmdump -s save_response.py. Органы реагирования начнут накапливаться body.txt.

У mitmproxy также есть ряд полезных фильтров, которые вы можете указать для mitmdump, чтобы получить именно то, что вам нужно.


2

httpFox, httpScoop (только для Mac) и httpWatch (IE, Firefox, только для windows) - все эти инструменты я использую для этого. Кроме того, вы также можете попробовать Fiddler (как это было предложено ранее), а также, если вы используете Mac, вы можете попробовать Charles Proxy. Мой личный фаворит - httpWatch (вы можете легко фильтровать по заголовкам, контенту, URL и т. Д.), Но это дорого, поэтому может не подойти.

Возможно, вы также захотите взглянуть на проект HAR (HAR означает HTTP Archive) и представляет собой основанный на стандартах подход к записи транзакций http, заголовков, содержимого и т. Д. Ряд упомянутых инструментов способен экспортировать файлы HAR для просмотра с использованием его. HAR Viewer (с которым вы будете знакомы, если посмотрите на функцию водопада в Firebug). Фактически, вы можете использовать Firebug для генерации этих файлов / журналов, используя NetExport.

FWIW httpScoop - хороший метод для отладки / отслеживания HTTP-трафика в беспроводной сети, я написал статью об этом некоторое время назад: http://blog.adtools.co.uk/trace-debug-mobile-application-http- запросы , использующие-MacOS /


Какой из упомянутых инструментов может сохранить дамп всех зарегистрированных сообщений на диск? httpFox не может. httpScoop предназначен только для Mac, и я спрашивал решение для Linux. httpWatch только для Windows, и я спрашивал решение для Linux. Fiddler только для Windows, и я спрашивал решение для Linux. Прокси Чарльз предназначен только для Mac, и я спрашивал решение для Linux. Спасибо за упоминание Firebug + NetExport, который потенциально может работать.
Очки

Firebug + NetExport работают для меня как прелесть в Linux. Они экспортируют трафик SSL в незашифрованном виде (как я и хотел). Я был бы рад принять ваш ответ, но сначала удалите все другие предложения (или переместите их в отдельный ответ).
Очки

1

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


1
Спасибо, что предложили Wireshark, но он бесполезен в качестве ответа на мой вопрос, поскольку он не сохраняет расшифрованный поток HTTPS.
Очки

2
Wireshark может расшифровать трафик SSL начиная с одной из последних версий, если у вас есть сертификат частного сервера .
cweiske

1
У меня нет сертификата частного сервера.
Очки
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.