Mit mitmproxy können Sie das Format auswählen, das angezeigt werden soll, wenn der Inhalt der Anforderungsantwort angezeigt wird.
Der Mechanismus zum Anzeigen jedes Formats wird in mitmproxy als ** Inhaltsansicht ** bezeichnet.
Grundlegende Elemente wie HTML, CSS und JSON werden standardmäßig bereitgestellt.
Da mimproxy mit Python erweitert werden kann, können Sie auch Ihre eigene ** Inhaltsansicht ** erstellen!
Beispiele im offiziellen Github-Repository Nehmen wir also diesen Code als Beispiel.
Ein Beispiel hierfür ist ** "Anforderungs- / Antwortinhalt in einem getauschten Fall anzeigen" **.
custom_contentview.py
from mitmproxy import contentviews
# contentviews.Erstellen Sie eine Klasse, die View erbt
class ViewSwapCase(contentviews.View):
name = "swapcase"
#Geben Sie eine Tastenkombination an, um diese Anzeige anzuwenden, wenn Sie mit CUI gestartet werden
prompt = ("swap case text", "z")
content_types = ["text/plain"]
#Stellen Sie hier den Hauptprozess zum Umschreiben von Inhalten ein
# data:Inhalt der Anfrage / Antwort
# metadata: metadata["headers"]Sie können die HTTP-Header unter sehen
def __call__(self, data, **metadata):
return "case-swapped text", contentviews.format_text(data.swapcase())
view = ViewSwapCase()
def load(l):
contentviews.add(view)
def done():
contentviews.remove(view)
Ich konnte es mit meinem eigenen Mitmproxy nicht gut lesen. Nachdem ich mir den Quellcode von mitmproxy angesehen und verschiedene Dinge getan hatte, gelang es mir, ihn zu laden, indem ich "def load (l)" in "def start ()" änderte.
-def load(l):
+def start():
contentviews.add(view)
Wenn man sich den Github von Mitmproxy ansieht, scheint die Version, die Sie ausführen, anders zu sein, da sie unterwegs von "Start" auf "Laden" umgeschrieben wurde.
addon loader: add boot_into, which replaces returning from start()
Sie können den Pfad der Skriptdatei hinzufügen, indem Sie dem Argument des Befehls "mitmproxy" (oder "mitmweb", "mitmdump") "-s" hinzufügen.
Ich verwende mitmweb
, weil ich mitmproxy
in einer Windows-Umgebung nicht verwenden kann.
mitmweb -s custom_contentview.py
Dies ist erfolgreich, wenn ** Swapcase ** zur Auswahl des Anforderungs- / Antwortformats hinzugefügt wird.
Overview — mitmproxy 2.0.2 documentation
Recommended Posts