Eu encontrei esta resposta querendo fazer isso, e nenhuma das respostas aqui me convinha porque eu precisava despejar os corpos de resposta HTTPS, bem como o OP. Então, para aqueles que pousam aqui como eu, aqui está o que eu encontrei.
Acabei encontrando o mitmproxy , que não é uma extensão do Firefox, mas cumpre o objetivo de registrar todo o tráfego do Firefox. É tudo Python, então eu o instalei com pip install mitmproxy
- use um gerenciador de pacotes, se quiser.
Iniciou com mitmproxy
a configuração / depuração inicial e, em seguida, usoumitmdump
despejo do fluxo, uma vez que eu tinha que trabalhar e refinado.
Acabei de configurar o Firefox para usar 127.0.0.1:8080
como servidor proxy (8080 sendo a porta padrão do mitmproxy) e vi todo o meu tráfego do Firefox passando pelo mitmproxy. Para habilitar o tráfego HTTPS, você deve aceitar o certificado criado pelo mitmproxy - com o proxy configurado, basta acessar o "endereço mágico" do http://mitm.it no Firefox, clicar no botão "Outro" e marcar as caixas para confiar no certificado e pressione OK.
Para despejar o corpo de resposta não criptografado, tive que usar um script embutido muito simples :
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 here - faça o download save_response.py
e use-o com mitmdump -s save_response.py
. Os órgãos de resposta começarão a se acumularbody.txt
.
O mitmproxy também possui vários filtros úteis que você pode especificar para que o mitmdump obtenha exatamente o que você precisa.