https请求的抓包方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

对于https协议的接口的抓包方法

一、使用fiddler

1.使用fiddler对浏览器访问的https接口抓包

默认设置下的fiddler是不能解密https协议的请求的内容的,在fiddler上抓到的https 协议的请求都是如下图所示,但是看不到其中的传参以及返回结果的内容:

如果想要用fiddler抓到浏览器访问的https接口,需要在fiddler做如下设置:

a)进入菜单栏,Tools->Fiddler Options:

b)切换到https选项卡,勾选如下选项:

c)按照上面步骤勾选后,会弹出如下提示框,提示意思大概就是fiddler会生成

一个唯一的根证书,我们要配置Windows,使Windows信任这个CA证书,

所以点击Yes即可:

d)点击Yes之后,Windows会马上弹出下面的弹窗,我们点击“是”,就能将

DO_NOT_TRUST_FiddlerRoot这个由fiddler生成的CA证书导入到浏览器,也就

完成了上面C步骤所述的配置Windows,使Windows信任这个CA证书的步

骤:

完成了上面的配置后,即可以在浏览器发起一个https协议的请求:

此时可以在fiddler抓到这个请求,并能看到传参内容和返回的内容

返回的内容:

2.使用fiddler对app访问的https接口抓包

首先要先在fiddler进行设置,步骤与上面的一样,但是不用导入证书到浏览器,这里不再赘述。

Android:

要使用fiddler抓到app发出的https请求,需要在app端安装fiddler生成的CA证书,在Android的app端安装fiddler生成的CA证书步骤如下:

a)设置手机代理服务器,代理到自己的电脑:

b)使用手机内置浏览器访问代理服务器地址:

c)点击这里:

d)此时会弹出安装证书的提示,要先命名证书:

-->

e)点击确定后,系统还会提示要求设置屏幕锁屏密码,以策安全,按照系统提示

一步一步做就行。完成证书安装后,在app发起https协议的请求,可以看到fiddler能抓到请求,并能看到传参和返回的内容。需要注意的是,每条https 请求之前都仍然会有Tunnel to :443的请求出现,这个

是https数据传输前的握手过程。

则可进行删除。

iOS:

iOS也可以通过浏览器访问来安装fiddler的证书。

a)首先设置代理服务器,代理到自己的电脑:

b)使用safari访问代理服务器地址:

c)点击”FiddlerRoot certificate”,会弹出如下窗口,此时我们安装这个证书即可:

d)完成证书安装后,在app发起https协议的请求,可以看到fiddler能抓到请求,

并能看到传参和返回的内容。

e)安装证书后,如果要删除,则进入设置->通用->描述文件中,删除描述文件即

可。

-->

二、使用Charles

1.使用charles对浏览器访问的https接口抓包

首先要安装3.10版本以上的Charles。

Charles对https抓包的原理和fiddler是一样的,Charles作为代理,先与客户端之间建立一个https连接,代理获得请求(解密)后,再与目标服务器之间又建立一个https连接,所以用Charles抓包也是需要先在浏览器导入一个证书。

导入证书操作步骤如下:

a)进入菜单栏,Help->SSL Proxying->Install Charles Root Certificate:

b)此时会有如下提示,点击“安装证书”,然后按照证书向导一步一步进行操作,

即可安装成功。完成了证书的导入:

c)Charles也要做相应的配置,进入Proxy->SSL Proxying Settings:

d)在SSL Proxying Settings中勾选Enable SSL Proxying,并在Locations中输入要抓

取的url的host和端口号:

e)完成以上配置之后,在浏览器发起一个https的请求,可以在Charles看到相

应的抓包解密结果:

2.使用Charles对app访问的https接口抓包

要先在Charles进行设置,步骤与上面的一样,不再赘述。

Android:

以下方法对3.10版本及以上的Charles有效。

要使用Charles抓到app发出的https请求,需要在app端安装Charles的CA证书,在Android的app端安装Charles生成的CA证书步骤如下:

a)设置手机代理服务器,代理到自己的电脑:

b)用手机内置浏览器访问以下url:/getssl,此时会

下载证书并弹出安装提示,要先命名证书:

-->

c)点击确定后,系统还会提示要求设置屏幕锁屏密码,按照系统提示一步一步做

就行。完成证书安装后,在app发起https协议的请求,可以看到charles能抓

到请求,并能看到传参和返回的内容。

则可进行删除。

相关文档
最新文档