为什么要抓包?

抓包:能帮助我们定位问题,是后端接口出现的问题,还是前段有问题

Windows下http请求

怎么拦截请求?

选中要拦截的请求,鼠标右键,点击breakpoints,设置断点,即可拦截请求

android 拦截返回手势 安卓拦截http请求_android 拦截返回手势

下次再请求这个http路径时,就自动跳出下面内容

android 拦截返回手势 安卓拦截http请求_Android_02

怎么修改请求

修改request请求

在上面的弹出框出现之后,点击Edit Request,可以修改里面的内容,如请求方式,请求地址,修改完成后,点击 最下边的Execute

android 拦截返回手势 安卓拦截http请求_chrome_03

修改response请求

在上方跳出request请求之后,点击Execute后,就会跳出response请求,如下图,点击Edit Response,下的html,里面会出现HTML内容,可以随意改动里面的内容,点击Execute

android 拦截返回手势 安卓拦截http请求_chrome_04

android 拦截返回手势 安卓拦截http请求_Android_05

页面返回数据如下图

android 拦截返回手势 安卓拦截http请求_Android_06

charles抓取windows https请求

step1、需要在电脑上安装证书

android 拦截返回手势 安卓拦截http请求_chrome_07

android 拦截返回手势 安卓拦截http请求_IP_08

 

android 拦截返回手势 安卓拦截http请求_Android_09

android 拦截返回手势 安卓拦截http请求_android 拦截返回手势_10

android 拦截返回手势 安卓拦截http请求_android 拦截返回手势_11

 

android 拦截返回手势 安卓拦截http请求_Android_12

 

 

android 拦截返回手势 安卓拦截http请求_chrome_13

android 拦截返回手势 安卓拦截http请求_android 拦截返回手势_14

android 拦截返回手势 安卓拦截http请求_IP_15

 step2、保存证书到桌面,以备后续在浏览器中安装证书,一定要是.cer格式的

android 拦截返回手势 安卓拦截http请求_Android_16

android 拦截返回手势 安卓拦截http请求_IP_17

step3、在chrome浏览器中安装证书

打开chrome浏览器,选择设置---->高级--->管理证书--->

android 拦截返回手势 安卓拦截http请求_Android_18

android 拦截返回手势 安卓拦截http请求_IP_19

android 拦截返回手势 安卓拦截http请求_android 拦截返回手势_20

android 拦截返回手势 安卓拦截http请求_Android_21

android 拦截返回手势 安卓拦截http请求_android 拦截返回手势_22

android 拦截返回手势 安卓拦截http请求_IP_23

android 拦截返回手势 安卓拦截http请求_IP_24

android 拦截返回手势 安卓拦截http请求_chrome_25

android 拦截返回手势 安卓拦截http请求_IP_26

以上:证书导入成功,在charles里面验证一下即可,现在就可以抓到https请求了,如下图

android 拦截返回手势 安卓拦截http请求_chrome_27

注意:有些加密的https请求,还是请求不到的,怎么请求到后续再请教别人吧,如下图

android 拦截返回手势 安卓拦截http请求_chrome_28

注意:在安装证书的过程中我遇到了一个坑,那就是先在IE浏览器里安装了证书,但是去chrome里面发请求,发现还是抓不到https请求,我因为我按错了呢,后来经过我多次安装,发现了一个大问题,那就是,你在哪个浏览器安装的证书,那就用哪个浏览器去发请求,否则就是抓不到https请求的。例如:经常用chrome,那就在chrome上安装证书,不在chrome上安装,反而在别的浏览器安装,那么用chrome请求是抓不到https请求的。

抓取Android手机上的http请求

前提:包保证电脑与手机是在一个局域网内,我的理解就是连的是同一个无线网,比如都连的家里的网,或者都连得公司的网

step1、配置charles

android 拦截返回手势 安卓拦截http请求_Android_29

step2、获取电脑端的IP,记住IP

首先获取到电脑的IP,控制台输入IPconfig

android 拦截返回手势 安卓拦截http请求_Android_30

step3、设置Android手机的代理设置

 找到和电脑同一局域网的无线,操作如下图

android 拦截返回手势 安卓拦截http请求_chrome_31

android 拦截返回手势 安卓拦截http请求_Android_32

android 拦截返回手势 安卓拦截http请求_IP_33

android 拦截返回手势 安卓拦截http请求_Android_34

设置代理服务器主机名,即刚才获取到的IP;代理服务器端口即第一步在charles里面设置的端口好

android 拦截返回手势 安卓拦截http请求_IP_35

以上,设置完毕,即可在charles里面抓到Android手机里面的http请求,如下图

 

android 拦截返回手势 安卓拦截http请求_android 拦截返回手势_36

charles抓取Android手机的https请求

和web端的一样,也需要安装证书,由于本人是锤子手机,一直安装不了证书,所以还是参考下面的连接吧

怎么模拟弱网测试

打开charlse---Proxy---Throllte Settings

android 拦截返回手势 安卓拦截http请求_IP_37

勾选上Enable Throttling,可以选择一些操作对应的网速

android 拦截返回手势 安卓拦截http请求_IP_38

如果只想对某地址的请求进行弱网测试,☑️[Only for selected hosts]

android 拦截返回手势 安卓拦截http请求_Android_39

进行这项设置后,我们会看到小红旗处于工作状态。

 

android 拦截返回手势 安卓拦截http请求_android 拦截返回手势_40

然后,打开Sequence查看每个请求的执行情况,比如:

android 拦截返回手势 安卓拦截http请求_Android_41

 怎么做url映射

Map remote

map remote 就是把一个地址的请求转发到另一个地址上

添加 map remote

android 拦截返回手势 安卓拦截http请求_android 拦截返回手势_42

设置 map remote

android 拦截返回手势 安卓拦截http请求_chrome_43

android 拦截返回手势 安卓拦截http请求_IP_44

验证:此时访问nnzhp.cn,访问的就不是之前的内容了,实际是cc-na.cn里面的内容了,但是地址是不变的,只是内容变了,证明url映射起作用了

android 拦截返回手势 安卓拦截http请求_android 拦截返回手势_45

Map Local

返回指定的文件内容

android 拦截返回手势 安卓拦截http请求_chrome_46

配置要访问的地址与返回的文件

android 拦截返回手势 安卓拦截http请求_android 拦截返回手势_47

返回内容

android 拦截返回手势 安卓拦截http请求_Android_48