介绍个网络代理工具。Charles,介绍太多都是多余,总之很强大。
我使用的是mac版本的。 按照mac版介绍。
1设置代理 打开软件后,屏幕最上方菜单栏,点击Proxy–>Proxy Settings 进入代理设置页面
是不是很简单?
举例Http抓包:
我用Android手机配置代理服务器,截个图如下:
代理服务器:选择“手动”
代理主机名:填写电脑的IP
代理服务器端口:填写刚才配置http代理的端口号
ok进行Http抓包吧:在手机上访问http://www.cnki.net后,第一次访问代理Charles会提示是否允许访问代理 ,点击”Allow”.
访问之后可以在Charles的页面中看到你需要获取的信息:
左上角可以选择显示方式:(structure结构)、(sequence 序列)。
上图采用的是structure方式显示。点击“左侧的请求网址”能在右侧查看到抓取的内容(Overview、Request、
Response、Summary、Chart、Notes)。我选择查看返回(Response),Response的内容有多种格式化方式(Headers、Cookies 、Test、Hex、HTML、Raw)点击下面的按钮进行选择,图中我选择的是HTML方式显示。
Charles 进行Https抓包。
1.需要电脑安装证书,在屏幕最上方菜单栏,点击Help–>Install Charles CA SSL Certificate如下图:
2.需要手机上安装证书,在手机上访问下面的连接,下载证书后安装。android手机安装证书会提示设置屏幕解锁密码,设置即可。
https://www.charlesproxy.com/assets/legacy-ssl/charles.crt
3.配置Charles Https代理,在屏幕最上方菜单栏,点击Proxy–>Proxy Settings 进入代理设置页面:
点击“ssl”选项卡,勾选Enable SSL Proxying。点击 “add” 按钮弹出输入框。在弹出框“端口”中填写443,“host”不填写表示全部网址都进行https代理。
配置完成,可以进行https代理了。下面是百度Https抓包的例子截图:
用文件替换服务端返回
有些时候我们希望修改服务器返回值,可以这样操作
1.点击我们请求的地址,拿到response 中的报文,保存成为本地文件。
2.按照自己的意愿修改保存的文件。
3.在请求地址上右键选择Map local弹出如下页面
在local Path 中选择保存的文件。这时候再次请求就可以了。
用其他服务器返回替换原服务端返回
当然有些时候我们希望用另外一台服务器的返回值,替代原有服务器的返回值,可以这样做,在请求地址上右键选择Map Remote弹出如下页面
只要在Map to下面的地方填写目标服务器的地址和端口就好了。
UTF-8乱码
如果你的报文中使用了UTF-8编码,抓包报文中出现了乱码,请参考下面的文章进行设置。
http://blog.csdn.net/zhang_red/article/details/43953119
注意-Xmx512m -Dfile.encoding=UTF-8中间的空格哦