У меня проблемы с получением mitmproxy для работы на Ubuntu 18.04.4 LTS.
Я пытаюсь настроить mitmproxy в прозрачном режиме, следуя инструкциям official-do c, но это не работает. В качестве клиента я использую Android в той же локальной сети.
Android устройство:
Шлюз: 10.2.215.177 IP: 10.2.215.141
Интерфейс Ubuntu:
wlo1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.2.215.177 netmask 255.0.0.0 broadcast 10.255.255.255
inet6 #::#:#:#:# prefixlen 64 scopeid 0x20<link>
ether #:#:#:#:#:# txqueuelen 1000 (Ethernet)
RX packets 630052 bytes 237521638 (237.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 91243 bytes 13667903 (13.6 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 8080
REDIRECT tcp -- anywhere anywhere tcp dpt:https redir ports 8080
Когда я запускаю mitmproxy --mode transparent --showhost
и загружаю страницу в браузере, traffi c не перехватывается с помощью mitmproxy.
Я думал, что проблема может быть в таблицах перенаправления или с клиентом, но работает следующий код:
Ubuntu server.py
import socket
s = socket.socket()
port = 8080
s.bind(('', port))
s.listen(5)
while True:
c, addr = s.accept()
print("Sending the data")
c.close()
Andoid:
telnet 10.2.215.177 80