https请求的抓包方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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能抓
到请求,并能看到传参和返回的内容。
则可进行删除。