我有3台机器:
1.使用不同数据库和其他服务的应用程序。
2.代理(mitmproxy)(192.168.56.51)
3.具有应用程序所需的所有数据库和服务的服务器。 (192.168.56.50)
所有3台计算机都在运行Centos 7的同一局域网中。
现在,机器1正在机器3上使用数据库和服务。
我要使用机器2的任务,因为它将是机器3并显示所有流量。即我需要能够侦听计算机2上的所有端口,并在计算机3上的等效端口上重定向流量。
我在iptables中将端口重定向到机器2上的mitmproxy端口(8080):
-A PREROUTING -i eth0 -p tcp -m multiport --dports 23:8079 -j REDIRECT --to-ports 8080
-A PREROUTING -i eth0 -p tcp -m multiport --dports 8081:65000 -j REDIRECT --to-ports 8080
此外,还向机器2添加了转发功能:
/etc/sysctl.d/mitmproxy.conf :
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
net.ipv4.conf.all.send_redirects=0
然后我在机器2上启动了mitmproxy:
mitmproxy --rawtcp
然后,我尝试运行应用程序,但是当某些东西试图连接到数据库时,mitmproxy会显示警告。一个例子:
Warn: 192.168.56.1:51204: HTTP protocol error in client request: Bad HTTP request line: b'\x04\x00\x00\x00\x01...
我在做什么错了?