Почему не работает mitmproxy в прозрачном режиме? - PullRequest
0 голосов
/ 17 апреля 2020

У меня проблемы с получением 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
...