Anyproxy代理工具
前言
在Win或Mac平台我们可以使用Charles
或Fiddler
进行抓包,但是Liunx环境下,该如何进行抓包呢?这里推荐一款阿里的开源工具anyproxy
可以比较好的解决这个问题。
Anyproxy
简介
- AnyProxy是一个开放式的HTTP代理服务器。
- Github主页:https://github.com/alibaba/anyproxy
- 主页地址:http://anyproxy.io
特性
- 基于Node.js,开放二次开发能力,允许自定义请求处理逻辑
- 支持Https的解析
- 提供GUI界面,用以观察请求
安装使用
安装环境:Ubuntu Server 14.04
安装Nodejs
1 | sudo curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - |
安装完成后检查是否安装成功
1 | mgtv@ubuntu:~$ nodejs -v |
Tips:对于Debian或者Ubuntu系统,在安装AnyProxy之前,可能还需要安装 nodejs-legacy
1 | sudo apt-get install nodejs-legacy |
安装AnyProxy
安装命令
1 | npm install -g anyproxy |
启动
1 | mgtv@ubuntu:~$ anyproxy |
- 默认端口号
8001
,anyproxy
启动后将终端http
代理服务器配置为ip:8001
即可 - 访问
http://ip:8002
,web界面上能看到所有的请求信息。ip
默认是127.0.0.1
如果是使用其他机器访问可以输入部署了anyproxy
的机器实际地址。
页面打开效果如下:
修改端口
如果想修改默认的启动端口如1080端口启动,可以使用如下命令
1 | anyproxy --port 1080 |
其他参数
1 | mgtv@ubuntu:~$ anyproxy --help |
设备代理
代理HTTP
将设备连接Wifi网络,然后设置代理服务器地址
代理设置完成之后,在手机上进行操作,在Web后台即可查看抓包结果
代理HTTPS
AnyProxy默认不对https请求做处理,如需看到明文信息,需要配置CA证书
解析https请求的原理是中间人攻击(man-in-the-middle),用户必须信任AnyProxy生成的CA证书,才能进行后续流程
在Web后台点击菜单RootCA
用设备扫描二维码下载安装证书,或者下载证书到本地然后安装到设备。安装完成后即可抓https请求
运行时需要添加参数-i
1 | anyproxy -i |