Здесь используется Расширение GNU sed -i для редактирования файла final_ip на месте:
input=`cat input_ip`
sed -i "s/$input/# $input/" final_ip
Заключение скрипта sed в двойные кавычки позволяет интерполировать переменную $ input. Работает, только если в файле input_ip есть один IP.
Вы смотрели «Человека в среднем прокси»-https://github.com/mitmproxy/mitmproxy? Он сделает все, что вы просите.
wget https://github.com/mitmproxy/mitmproxy/releases/download/v2.0.2/mitmproxy-2.0.2-linux.tar.gz
Или с PIP
pip3 install mitmproxy
Затем запустите:
./mitmproxy --host
Настройте прокси в своем браузере, и он будет MITM весь трафик, который вы хотите.
Если вы не против попробовать подход 1 ), я только что закончил писать прокси EAPOL(https://github.com/kangtastic/peapod). Он даже автоматически изменит MAC-адрес eth0, чтобы он соответствовал адресу вашей цели, если хотите, хотя я бы сделал это вручную. Кажется, вы можете настроить статический IPv4-адрес на eth0 и получить подключение, и это хорошо, потому что мой прокси-сервер не обрабатывает никаких вещей уровня 3. Во всяком случае, основываясь на вашем описании, я уверен, что это сработает для вашей ситуации. Есть и другие прокси EAPOL,в основном на Python, это, вероятно, будет работать так же хорошо, если вы посмотрите.
Если вашему запрашивающему EAPOL также необходимо «зарегистрироваться» в вышестоящей сети после того, как сеанс будет запущен через DHCP, чтобы получить подключение IPv4, все становится немного сложнее в зависимости от того, требует ли восходящая сеть определенное имя хоста, идентификатор клиента, и т. д. для отправки в DHCP-запросах. В худшем случае вам придется настроить dhclient на M для отправки точно тех же параметров, что и DHCP-клиент на T. Это раздражает, но вы можете сделать их идентичными, если вы достаточно настойчивы. Клонирование MAC-адреса запрашивающей стороны на eth0 также помогает.
Если вы настроены на подход 2 )с использованием eb/iptables -, извините, я не могу вам тут помочь. Я просто скажу, что EAPOL не будет пересекать программный мост Linux по умолчанию, потому что адрес многоадресной группы EAPOL, 01 -80 -C2 -00 -00 -03, не перенаправляется Мосты, совместимые со стандартом 802.1D -. Решение этого:
echo 8 > /sys/class/net/brX/bridge/group_fwd_mask
(Почему 8, а не какое-то другое значение? Потому чтоhttps://interestingtraffic.nl/2017/11/21/an-oddly-specific-post-about-group_fwd_mask/)
У вас есть T для аутентификации через ваш мост, так что вы уже это знаете, но другие могут не:)