ショートバージョン:
OS X Mountain Lion(10.8)でインターネット共有を有効にした場合、すべてのトラフィックをen2ポート80/443から127.0.0.1:8080にリダイレクトするにはどうすればよいですか?
背景:
様々なスマートフォンアプリの通信セキュリティを評価する修士論文を作成しています。新しいMacBook Airをルーターとして使用することにしました。
AirをUSBイーサネットでインターネットに接続し、インターネット共有をWifiにセットアップしました。これは正常に動作します。Wi-Fiを介して他のデバイスをAirに接続し、インターネットにアクセスできます。すごい!
次に、このトラフィックをインターセプトして、オンザフライで変更したいと思います。これを行うにはプロキシが必要だと考えましたが、デバイスで構成を行う必要がない透過的なプロキシが必要です。mitmproxyがまさにこれらの機能を提供していることがわかりました。したがって、127.0.0.1:8080で実行して、トラフィックをインターセプトする準備ができています。
残念ながら、ポート80と443のwifi(en2)から入ってくるトラフィックを127.0.0.1:8080にリダイレクトしようとしてスタックしました。mitmproxy docsはpfctlの設定を提案していますが、機能しません。Appleがインターネット共有用の設定をいくつか提供し、NATを有効にしていることに気づきました。したがって、これらの設定を使用しないと、インターネット共有が機能しなくなります。そして、それらの設定にrdr行を追加しようとしても、効果がありません(/etc/pf.confファイルのいくつかの場所を試しました)。私のトラフィックはmitmproxyをバイパスして、インターネットに転送されます。