Versi singkat:
Bagaimana cara mengalihkan semua lalu lintas dari en2 port 80/443 ke 127.0.0.1:8080 ketika saya telah mengaktifkan Berbagi Internet di OS X Mountain Lion (10.8)?
Beberapa latar belakang:
Saya sedang melakukan tesis master di mana saya akan mengevaluasi keamanan komunikasi untuk berbagai aplikasi smartphone. Saya telah memilih untuk menggunakan MacBook Air baru saya sebagai router.
Saya telah menghubungkan Udara saya ke Internet dengan USB Ethernet dan mengatur Berbagi Internet ke Wifi saya. Ini berfungsi dengan baik. Saya dapat menghubungkan perangkat lain ke Air saya melalui wifi dan mengakses Internet. Bagus!
Sekarang saya ingin mencegat traffic ini dan memodifikasinya on-the-fly. Saya pikir saya perlu proxy untuk melakukan ini tetapi saya perlu yang transparan, di mana saya tidak perlu melakukan konfigurasi pada perangkat. Saya menemukan bahwa mitmproxy menawarkan persis fitur-fitur ini. Jadi saya menjalankannya pada 127.0.0.1:8080, siap untuk mencegat lalu lintas.
Sayangnya saya terjebak mencoba untuk mengarahkan lalu lintas saya datang dari wifi (en2) pada port 80 dan 443 ke 127.0.0.1:8080. Dokumentasi mitmproxy menyarankan konfigurasi untuk pfctl tetapi tidak berfungsi. Saya perhatikan bahwa Apple telah menyediakan beberapa konfigurasi untuk Berbagi Internet, memungkinkan NAT. Jadi jika saya tidak menggunakan konfigurasi mereka maka Berbagi Internet berhenti berfungsi. Dan ketika saya mencoba untuk menambahkan baris rdr ke konfigurasi mereka tidak berpengaruh (mencoba beberapa tempat di file /etc/pf.conf). Lalu lintas saya hanya meneruskan ke Internet, melewati mitmproxy.