我想捕获来自HostA-> HostB的HTTP服务调用,以测试HostA上的客户端是否替换HTTP响应。两种操作系统都是Linux。我尝试跟随但失败了。推荐的方法是什么?
我想使用透明代理模式,因为我无法修改客户端,也无法将所有流量从HostA重定向到hostB,因为其他服务也在HostA上运行。我只想将客户端的连接从主机A重定向到主机B。主机A中的客户端通过HTTP在特定端口10001上的主机B上调用服务。
我尝试用mitmproxy设置HostC(HostA和HostC在同一子网中)HostA(ip_A)-> HostC(ip_C)mitmproxy-> HostB(ip_B),我将ip表设置为构建透明模式。
以下是我在HostA上设置的内容
sudo iptables -t mangle -I OUTPUT -p tcp --dport 10001 -j MARK --set-mark 1
sudo ip route add default via ip_C table 100
sudo ip rule add fwmark 0x1 table 100
在HostC上
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A PREROUTING -o eth0 -p tcp --dport 10001 -j REDIRECT --to-port 8080
mitmproxy -T --host
这行不通。HostA连接超时上的客户端。如果我在HostA上尝试traceroute
traceroute ip_B -p 10001 -T
它显示ip_B在HostA的TCP上无法访问
我还尝试在HostA上安装mitmproxy,但是当我尝试重定向HostA上的端口10001的流量时
sudo iptables -t nat -A OUTPUT -p tcp --dport 10001 -j REDIRECT --to-port 8080
mitmproxy -T --host
该服务调用可由HostA上的mitmproxy捕获,但无法获得响应。
非常感谢你的帮助。
对不起,错字,这是10001
—
shikn
您到底想做什么?您只想看看路况?仅使用打开了端口镜像并且wireshark或tcpdump 的交换机怎么办?
—
Appleoddity
哦,我想捕获响应并将HostA的请求替换为响应。
—
shikn
也许软件的完整更改可能会帮助查看softwarerecs.stackexchange.com/questions/4239/…–
—
罗斯