Ich versuche, einen transparenten Proxy auf meinem Mac OS X Lion (10.7.5) einzurichten, damit ich mitmproxy (um den SSL-Verkehr von Android-Anwendungen abzufangen) verwenden kann. Ich folgte den Schritten in den mitmproxy-Dokumenten zum Einrichten der Portweiterleitung mit PF unter Mac OS X , und alle gingen ohne Fehler:
%Vor% Aber es scheint keine Wirkung zu haben. Wenn ich auf Websites in meinem Browser gehe, erfolgt eine direkte Anfrage, und der angegebene Port wird nicht durchsucht. Hier ist die Datei pf.conf
( en1
ist mein WLAN):
Danke, dass Sie heute beim IRC-Kanal vorbeischauen. Ich habe das aufgespürt, und das grundlegende Problem ist, dass die rdr-Regeln für eingehenden Datenverkehr gelten. Dies bedeutet, dass sie den von der Box kommenden Verkehr NICHT umleiten. Wenn Sie darüber nachdenken, ist dies unvermeidlich: Wir können nicht zwischen einer ausgehenden Verbindung von einer Nicht-Mitmpfroxy-App und einer ausgehenden Verbindung von Mitmproxy selbst unterscheiden. Wir können route-to verwenden, um den Datenverkehr an lo0 zu senden und ihn dann umzuleiten, aber das verursacht eine Endlosschleife, bei der die eigenen ausgehenden Verbindungen mitmproxy ebenfalls zurück nach mitmproxy geleitet werden.
Da ich ein wenig über Ihren Anwendungsfall weiß, würde ich vorschlagen, Möglichkeiten zu finden, dies mit VirtualBox zu tun. Ein Angriffsplan wäre, das VirtualBox-Netzwerk im Bridge-Modus einzurichten und dann eine pf-Regel mit einer Übereinstimmung der Quelladresse zu verwenden, um den Traffic an mitmproxy umzuleiten. Das sollte tun, was Sie wollen, und keine Singularitäten in Zeit und Raum durch unendliche Umleitung verursachen.
Bitte blättern Sie erneut mit dem IRC-Kanal, wenn Sie eine weitere Hand benötigen.
Hast du net.inet.ip.scopedroute=0
versucht? Von Ссылка :
Jetzt, wenn Sie das oben Setup beenden, werden Sie das bemerken nichts funktioniert wirklich. Die Ursache dafür ist ein Fehler im OS X Kernel Dazu muss das Flag net.inet.ip.scopedroute auf 0 gesetzt werden. Ich bin es nicht ganz sicher, was es tut, aber das Internet berichtet, dass es bricht Netzwerkfreigabe durch die Benutzereinstellungen. In jedem Fall behebt es ipfw-basierte Weiterleitung, so dass Sie es mit sysctl drehen können:
$ sudo sysctl -w net.inet.ip.scopedroute=0
Leider kann in OS X Lion diese Flagge nicht entfernt werden Benutzerbereich, so dass Sie es als Startparameter festlegen und dann neu starten müssen dein Computer. Sie können dies tun, indem Sie die /Library/Preferences/SystemConfiguration/com.apple.Boot.plist Datei (Fortsetzung ...)
Sie verwenden den Port 4500 anstelle des Standardports 8080. Fängst du mitmproxy mit der Port-Spezifikation an ?: mitmproxy -T --host -p 4500
Haben Sie die Schritte zum Einrichten des Zertifikats auf dem Android-Gerät ausgeführt? Ссылка
Ein weiteres Problem könnte das Gateway auf Ihrem Android-Handy sein: Einstellungen - Wifi - Halten Sie das Netzwerk, das Sie verwenden - Netzwerk bearbeiten - Erweiterte Optionen - Legen Sie als Gateway die IP-Adresse Ihres Computers mit mitmproxy.
Übrigens habe ich die gleiche Warnung mit Nein ALTQ-Funktion, aber es funktioniert.
Tags und Links macos proxy networking portforwarding mitmproxy