Znalazłem tę odpowiedź, chcąc to zrobić, i żadna z odpowiedzi tutaj mi nie odpowiadała, ponieważ musiałem zrzucić ciała odpowiedzi HTTPS, podobnie jak OP. Dla tych, którzy lądują tutaj tak jak ja, oto co znalazłem.
W końcu wylądowałem na mitmproxy , który nie jest rozszerzeniem Firefoksa, ale osiąga cel rejestrowania całego ruchu Firefox. To wszystko Python, więc zainstalowałem go z pip install mitmproxy
- jeśli chcesz, użyj menedżera pakietów.
Zacząłem mitmproxy
od wstępnej konfiguracji / debugowania, a następnie mitmdump
zrzuciłem strumień, gdy tylko go uruchomiłem i poprawiłem.
Właśnie ustawiłem Firefoksa na używanie 127.0.0.1:8080
jako serwera proxy (8080 jest domyślnym portem mitmproxy) i widziałem cały mój ruch Firefoxa przechodzący przez mitmproxy. Aby włączyć ruch HTTPS, musisz zaakceptować certyfikat, który tworzy mitmproxy - po skonfigurowaniu proxy wystarczy przejść do „magicznego adresu” http://mitm.it w przeglądarce Firefox, kliknąć przycisk „Inne”, zaznaczyć pola zaufać certyfikatu i naciśnij OK.
Aby zrzucić niezaszyfrowaną treść odpowiedzi, musiałem użyć bardzo prostego skryptu wbudowanego :
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 tutaj - pobierz go jako save_response.py
i używaj z mitmdump -s save_response.py
. Ciała odpowiedzi zaczną się gromadzić body.txt
.
mitmproxy ma również wiele przydatnych filtrów , które możesz określić, aby mitmdump pobierał tylko to, czego potrzebujesz.