我现在正在为我们的移动部门准备一个自动化测试实验室,主要由安卓设备组成。
对于第一阶段,我需要 HTTP 设备嗅探,我无法在设备上进行,因为它们并非全部植根,而且并非所有设备都是 4.0 及更高版本,因此它们可以使用基于 VPN 的解决方案。
我正在考虑一个将在设备wifi“高级设置”中定义的代理,并且应该使用请求响应标头+正文创建.txt文件(因为它没有特殊格式并且是纯文本对我来说应该可以正常工作) .
HTTPS 如果需要,我将在稍后解决。
我的问题是哪个代理服务器将是最快的设置和编写这样一个动作的脚本?我想一次可以发出请求的设备不会超过 10 到 15 个,在我的设置中加载不会是什么大问题,但要确保每个设备都有自己的数据打印到文件中。
我知道 squid 存在并且 tinyproxy 我知道 apache 有一个 proxy_mod 可以解决问题,但不确定它是否适合我的需要。服务器机器是 linux,所以没有提琴手会来帮助我。
我可以想到两个选择:
听起来您更喜欢使用 linux HTTP 代理方法,但我也包括网络捕获信息。
HTTP 代理捕获
使用python-proxy,以及我在页面底部添加的源代码修改。默认情况下,python-proxy 仅侦听 localhost。他们的脚本中的一个小改动使它监听所有端口:
将文件保存在 linux 中后,您可以作为 unpriv 用户执行,
python PythonProxy.py
现在将您的 android 客户端配置为通过 tcp/8080 上的 linux 服务器的 IP 进行代理。python-proxy不支持 HTTPS。还有其他类似的 python 代理项目
mitmproxy
确实支持 https,但我在它们方面没有取得太大的成功(再说一次,我通常将所有东西都部署在virtualenv中,这与一些 python 项目不能很好地配合)。在 Linux 上代理 SSL 流量的另一个选项是CharlesProxy,但我从未使用过它。虽然是商业产品...
网络捕获
许多托管交换机(即 Cisco / Juniper / HP / 等)将一个以太网端口的流量镜像到另一个以太网端口,在交换机上进行非常简单的配置。
此方法不支持解密 https 捕获。