Коротка версія:
Як перенаправити весь трафік з порту en2 80/443 на 127.0.0.1:8080, коли я ввімкнув обмін в Інтернеті в OS X Mountain Lion (10.8)?
Деякі відомості:
Я роблю магістерську роботу, де буду оцінювати безпеку зв’язку для різних додатків для смартфонів. Я вибрав використовувати свій новий MacBook Air в якості маршрутизатора.
Я підключив свій Інтернет до Інтернету через USB Ethernet і налаштував Інтернет-обмін на свій Wi-Fi. Це чудово працює. Я можу підключити інші пристрої до свого повітря через wifi та отримати доступ до Інтернету. Чудово!
Тепер я хочу перехопити цей трафік і змінити його на ходу. Я подумав, що для цього мені потрібен проксі, але мені потрібен прозорий, де мені не потрібно робити конфігурацію на пристрої. Я виявив, що mitmproxy пропонує саме ці функції. Тож у мене він працює на 127.0.0.1:8080, готовий перехопити трафік.
На жаль, я застряг, намагаючись перенаправити свій трафік, що надходить з wifi (en2) на порт 80 та 443 на 127.0.0.1:8080. Документи mitmproxy пропонують конфігурацію для pfctl, але вона не працює. Я помітив, що Apple надала конфігурацію для спільного доступу до Інтернету, що дозволяє NAT. Тож якщо я не використовую їх конфігурацію, то Інтернет-обмін перестає працювати. І коли я намагаюся додати рядки rdr до їх конфігурації, це не вступає в силу (спробувало кілька місць у файлі /etc/pf.conf). Мій трафік просто передається в Інтернет, минаючи mitmproxy.