将本地的http请求转发到fiddler或其他的代理服务器上
Posted On 2017年10月19日
服务器间请求时的debug, 通常通过日志分析。 日志量大, 以及日志不完全,非常不利于debug分析定位问题。 通常我们使用抓包工具进行。 但如果我们的服务器之间的协议主要是http 应用层, 则可以使用更灵活的方式。
如果使用tcpdump wireshark等抓包工具, 虽然也可以将所需要的数据抓取并分析。 而且可以抓到更底层的数据。 唯一不方便的是,无法进行mock数据进行返回。 抓包是将网络中的包抓取并拷贝一份, 不同于代理服务,则可以进行man in the middle 工具。 同时也可以利于我们debug和方便的mock测试数据,用于测试工作。
至于使用fiddler 工具则可以非常快速的搭建起来这套man in the middle 工具。
1) 设置服务器的http全局代理 (需要通过修改代码 或者 对应服务的全局http 代理设置 【需要保证代码可以兼容读取全局http代理】)
2) 通过类似于透明代理方式。
sudo iptables -t nat -A OUTPUT -p tcp -d 172.16.4.88 –dport 9980 -j DNAT –to 10.10.3.60:8888 (适用于linux 的服务器)
如上命令,会将本地请求 172.16.4.88:9980 的数据, 转发请求到一台 安装了fiddler 的服务器或者desktop, fiddler默认监听8888. 这样我们可以在fiddler上任意查看请求和往返于 172.16.4.88 上的数据,并根据自己的需要进行修改和测试。
此篇文章已被阅读3437 次