web-dev-qa-db-ja.com

Mac OS X MountainLionで透過プロキシのpfを有効にする

私はWebアプリケーションのユーザビリティテストを行っており、mitmproxyを透過プロキシとして使用してSSLセッションをデバッグおよび記録しようとしていますが、何らかの理由でMac OS X MountainLionではpfは使用できません。 t透過的なリダイレクトを設定します。

まず、転送を有効にします。

Sudo sysctl -w net.inet.ip.forwarding=1

次に、1行の単純なpf.confファイルを作成します。

rdr on {en1, en0} inet proto tcp to any port {80, 443} -> 192.168.1.40 port 3128

192.168.1.40が現在実行されているリモートホストである場合、mitmproxyおよびen1およびen2はMacの主要な発信インターフェイスです。

最後に、次のコマンドを使用してpfを起動します。

Sudo pfctl -vf pf.conf
Sudo pfctl -e

ただし、何も起こりません。 pfの現在実行中のルールをpfctl -srでリストすると、何も表示されません。

pfが、ポート80へのすべてのアウトバウンドアクセスをブロックするダミールールをマシンに与えることで、マシン上で機能することを確認しました。

pfがWebトラフィックをMacOS X Mountain Lionの透過プロキシにリダイレクトできるようにするために他に何をする必要があるかについてのヒントはありますか?

3
Pridkett

試しましたか net.inet.ip.scopedroute=0?から http://lucumr.pocoo.org/2013/1/6/osx-wifi-proxy/

現在、上記の設定を完了すると、実際には何も機能しないことに気付くでしょう。これの原因は、net.inet.ip.scopedrouteフラグを0に切り替える必要があるOS Xカーネルのバグです。それが何をするのか完全にはわかりませんが、インターネットは、ユーザー設定によるネットワーク共有を中断すると報告しています。いずれにせよ、ipfwベースの転送を修正するので、sysctlで反転できます。

$ Sudo sysctl -w net.inet.ip.scopedroute=0

残念ながら、OS X Lionでは、このフラグは実際にはユーザースペースから反転できないため、ブートパラメーターとして設定してからコンピューターを再起動する必要があります。これを行うには、/ Library/Preferences/SystemConfiguration/com.Apple.Boot.plistファイルを編集します(続き...)

1
a paid nerd