互联网 / 其他 · 2016年7月19日 0

charles工具抓包教程(http跟https)

1.下载charles

可以去charles官网下载,下载地址:http://www.charlesproxy.com/download/    根据自己的操作系统下载对应的版本,然后进行安装,然后打开charles工具

2.设置代理(记住手机跟电脑要在同一个网络,用的同一个路由器)

1).查看默认端口    Proxy->Proxy Settings  在这个页面会看到HTTP Proxy的默认端口是8888   我们不需要修改,只需要知道有这个值就行

2).查看当前电脑的ip    例如我这里的是:192.168.9.129

3).知道了默认端口跟ip地址,我们就可以手机上设置代理了。设置步骤我录制了gif动画。(我用的是genymotion模拟器,真机也是一样的)

完成了以上两个步骤就可以抓到http请求的数据了,效果图如下:

 

接下来讲解如何抓取https协议的包,如果你没有这个需求,请不要继续浏览下面的内容

3.设置charles ssl代理

Proxy->SSL Proxy Settings    弹出一个ssl代理设置界面

1).Enable SSL Proxying复选框打上勾

2).添加你想要的设置代理的域名,端口默认443

设置过后效果图如下:

 

 

4.手机下载ssl证书

1).Help->SSL Proxying ->Install Charles Root Certificate on a Mobile Device or Remote Browser…

会弹出一个提示框,如下显示:

浏览器输入这个地址即可下载证书,记住要用Android自带的浏览器.   地址是:http://charlesproxy.com/getssl   扫一扫二维码安装ssl

Charlessslurl

2).然后按照他的提示安装证书即可.

做完第三步跟第四步就可以抓包https数据了.如果还有问题请留言。。。下面是我抓包截图。

 

 

方法二

HTTP包:

1.安装抓包工具 Charles , 到官网http://www.charlesproxy.com/可下载到最新版本

 

2.用安装了charles的电脑,代理待抓包anroid手机的网络连接:

首先查看pc的网络IP地址;打开手机设置,进入当前wifi连接,设置代理为手动,将服务器填为上一步中获得的IP,端口默认为8888(在charles的proxy setting中可以改这个端口号)。这时Charles弹出确认框,点击Allow按钮即可

 

3.中文乱码问题解决

在charles的content/info.plist 中 的vmoption 添加-Dfile.encoding=UTF-8

 

 

HTTPS抓包:

  1. 下载Charles证书http://www.charlesproxy.com/ssl.zip,解压后导入到手机中,然后设置->安全->凭据存储->从存储设备安装,选中证书。
  2. 在Charles的工具栏上点击设置按钮,选择Proxy Settings;切换到SSL选项卡,选中Enable SSL Proxying,选项卡的Locations表单可以填写要抓包的域名和端口,点击Add按钮,在弹出的表单中Host填写域名,比如填api.instagram.com,Port填443。默认的..表示应用于所有地址

Share this: