Mitmproxy

Mitmproxy, как сказано на сайте mitmproxy.prg

Features
    Intercept HTTP & HTTPS requests and responses and modify them on the fly
    Save complete HTTP conversations for later replay and analysis
    Replay the client-side of an HTTP conversations
    Replay HTTP responses of a previously recorded server
    Reverse proxy mode to forward traffic to a specified server
    Transparent proxy mode on OSX and Linux
    Make scripted changes to HTTP traffic using Python
    SSL/TLS certificates for interception are generated on the fly
    And much, much more…

см описание https://kali.tools/?p=1558
Ставил для теста на виртуалку под Ubuntu 18.04 согласно мануалу https://docs.mitmproxy.org/stable/overview-installation/
sudo apt-get install python3-pip
sudo pip3 install mitmproxy

Предварительно вернул схему именования сетевых интерфейсов к старому доброму eth0... согласно
https://nixadmin.ru/network_manager_eth0, дополнительно выполнив
apt-get install ifupdown resolvconf
, а после изменений в /etc/default/grub -
update-grub

Lля режима прозрачного прокси согласно https://docs.mitmproxy.org/stable/howto-transparent/
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080
iptables -A input -i eth0 -p tcp --dport 8080 -j ACCEPT

Для того чтобы работало после перезагрузки, добавить в /etc/sysctl.conf и установить iptables-persistent, сохранив правила iptables туда.
Запуск для теста
mitmproxy --mode transparent --showhost --listen-host 0.0.0.0
, т.е. запускаем на всех ipv4 интерфейсах.
Далее - работаем.