รุ่นสั้น:
ฉันจะเปลี่ยนเส้นทางการรับส่งข้อมูลทั้งหมดจาก en2 พอร์ต 80/443 เป็น 127.0.0.1:8080 ได้อย่างไรเมื่อฉันเปิดใช้งาน Internet Sharing ใน OS X Mountain Lion (10.8)
พื้นหลังบางส่วน:
ฉันกำลังทำวิทยานิพนธ์หลักซึ่งฉันจะประเมินความปลอดภัยในการสื่อสารสำหรับแอพสมาร์ทโฟนต่างๆ ฉันเลือกใช้ MacBook Air ใหม่เป็นเราเตอร์
ฉันเชื่อมต่อ Air กับอินเทอร์เน็ตด้วย USB Ethernet และตั้งค่า Internet Sharing กับ Wifi ของฉัน ใช้งานได้ดี ฉันสามารถเชื่อมต่ออุปกรณ์อื่น ๆ กับ Air ของฉันผ่าน wifi และเข้าถึงอินเทอร์เน็ต ที่ดี!
ตอนนี้ฉันต้องการสกัดกั้นการรับส่งข้อมูลนี้และแก้ไขทันที ฉันคิดว่าฉันต้องการพร็อกซีในการทำสิ่งนี้ แต่ฉันต้องการแบบโปร่งใสซึ่งฉันไม่ต้องทำการกำหนดค่าใด ๆ บนอุปกรณ์ ฉันพบว่า mitmproxy มีคุณสมบัติเหล่านี้อย่างแน่นอน ดังนั้นฉันจึงให้มันทำงานบน 127.0.0.1:8080 พร้อมที่จะสกัดกั้นการจราจร
น่าเสียดายที่ฉันพยายามติดตั้งการรับส่งข้อมูลของฉันที่มาจาก wifi (en2) บนพอร์ต 80 และ 443 ถึง 127.0.0.1:8080 mitmproxy docs แนะนำการกำหนดค่าสำหรับ pfctl แต่มันไม่ทำงาน ฉันสังเกตเห็นว่า Apple ได้จัดให้มีการกำหนดค่าบางอย่างสำหรับ Internet Sharing ซึ่งเปิดใช้งาน NAT ดังนั้นหากฉันไม่ได้ใช้การกำหนดค่าของพวกเขาดังนั้น Internet Sharing จึงหยุดทำงาน และเมื่อฉันพยายามเพิ่มบรรทัด rdr ในการตั้งค่าของพวกเขามันจะไม่มีผล (ลองหลาย ๆ ที่ในไฟล์ /etc/pf.conf) ปริมาณการใช้งานของฉันเพิ่งผ่านไปยังอินเทอร์เน็ตผ่าน mitmproxy