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