Переадресация портов pfctl в Mac OSX?


16
-A PREROUTING -s 10.0.10.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
-A PREROUTING -s 10.0.10.0/24 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8080
-A POSTROUTING -s 10.0.10.0/24 -o eth0 -j MASQUERADE
COMMIT

Приведенный выше код является кодом, который я использовал для пересылки трафика в Linux.

Теперь мне нужно сделать то же самое в Mac OSX. 10,8, если это имеет значение.

Итак, вот сделка.

Раньше я использовал прокси для подключения к машине linux и с помощью этого прокси я мог отслеживать трафик с помощью mitmproxy

Теперь на Mac я использую встроенный общий доступ к Интернету и хочу использовать mitmproxy, который слушает только материал с порта 8080.

bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether ac:de:48:81:1d:4a 
    inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
    Configuration:
        priority 0 hellotime 0 fwddelay 0 maxage 0
        ipfilter disabled flags 0x2
    member: en0 flags=3<LEARNING,DISCOVER>
             port 5 priority 0 path cost 0

Вышеизложенное является «общим соединением», которое мне нужно передать, я считаю.

Ответы:


23

Предполагая, что весь ваш запрос веб-трафика будет от 192.168.2.0/24и интерфейсbridge0

Добавьте следующие правила в /etc/pf.conf

rdr pass on bridge0 inet proto tcp from 192.168.2.0/24 to any port http -> 127.0.0.1 port 8080
rdr pass on bridge0 inet proto tcp from 192.168.2.0/24 to any port https -> 127.0.0.1 port 8080

Быстрые советы

  1. Проверьте pf.conf на синтаксическую ошибку

    pfctl -v -n -f /etc/pf.conf
    
  2. Применить / Обновить правила

    pfctl -f /etc/pf.conf
    

Это шпаргалка для OS X pfctl.


3
pfкак представляется , не будет включена по умолчанию, так что вы , возможно , придется добавить -eфлаг: pfctl -ef /etc/pf.conf.
Webthusiast

4
это говорит синтаксическую ошибку
Hitesh Joshi

@HiteshJoshi: у меня та же проблема. Для меня перемещение строк между строками с помощью «rdr-anchor» и «dummynet-anchor» исправило это.
Альбин
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.