如果是mac在使用前需要点一下macOS proxy
抓包的作用:
抓包能看到所有发出去的请求,能帮助我们定位问题,看看是后端接口出现的问题,还是前端有问题:如果接口返回的都是对的就是前端的问题,如果接口返回异常就 是后端接口有问题
http请求抓取:
怎么抓手机上的包
1、确定你的电脑和你的手机在一个局域网里面
2、手机设置代理:
在wifi那里配 置代理选择手动服务器那里设置自己电脑IP端口号设置8888
一百种charles连接不上手机的处理方式
1、检查电脑和手机有没有连接的同一个wifi,必须tm连接的一个网
2、更换charles和移动端设备的端口,默认是8888,可以改成其他的试试
3、有可能路由器设置的ap间不能相互访问,需要登录路由器,需要登录路由器。进行求改。把用户间访问的对勾勾上。类似于这样
4、关闭电脑的防火墙。试试 首先,如果,防火墙关了还是不行,那么请把手机wifi断掉后重新连接,这样一般就可以解决问题了。 如果以上方法还是不行的话,那么请将手机wifi位置的ip地址设置成静态ip,然后重启charles工具。
5、在charles上添加手机的ip试试
查看charles端口号:
3、ipconfig,查看自己电脑的ip地址
4、手机通过设置http代理服务器,连接到电脑
服务器输入电脑的ip
端口和charles的端口一致,
5、此时charles会给出提示。有新的连接。点击allow
6、连接成功,此时手机发送的内容,charles可以抓到。
然后如果勾选了Proxy - Windows Proxy 的话,那么就会将电脑上的抓包请求也抓取到,如果只抓手机的话,可以将这个设置为不勾选。
怎么在模拟弱网测试
什么样的网络属于弱网
低于2G速率的时候都属于弱网,3G也可划分为弱网,一般Wi-Fi不划入弱网测试范畴。
charles模拟弱网 proxy => throttle settings
配置参数解析:
bandwidth —— 带宽,即上行、下行数据传输速度utilisation —— 带宽可用率,大部分modern是100%round-trip latency —— 第一个请求的时延,单位是ms。MTU —— 最大传输单元,即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况。Releability —— 指连接的可靠性。这里指的是10kb的可靠率。用于模拟网络不稳定。Stability —— 连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。方法二:chrome的webview调试工具弱网模拟
使用chrome的webview调试工具,缺点是只适用于web页面的弱网模拟。
具体步骤:(1)应用打开webview调试功能,具体如下:if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true);}(2)手机链接电脑,运行APP,进入具体H5页面;(3)chrome的DevTools中打开Webview:进入chrome://inspect/#devices,会显示已经连接设备,选中待调试webview的inspectnetwork页面,No throttling下拉框,可以进行网络模拟。
怎么拦截请求
6、charles http 拦截(Breakpoints)
在Sequence 这拦,选择要拦截的接口,右击 -> Breakpoints 以后的请求和响应分别拦截一次跳到改数据内容页面。 按钮说明:cancel 跳过不改
abort 丢弃excute 执行(修改后点击)2、在浏览器中刷新该页面,Charles会跳转到Breakpoints列表
3、篡改请求信息后,点击底部Execute按钮
4、返回浏览器查看服务器返回结果,返回的页面信息为http://www.nnzhp.cn/archives/category/python,而不是用户真正请求的http://www.nnzhp.cn/
篡改服务器响应结果【可以用来模拟移动端的接口返回异常的情况】
1、设置Breakpoints,将请求信息拦截,然后什么都不改,跳转到如下界面:
3、点击Text,修改返回信息,点击Execute
4、返回浏览器查看页面,展示信息如下
给请求加参数
对需要加参数的页面进行拦截,然后刷新,到breakpoints页面点击ADD,添加需要添加的参数,点击Execute
然后等charles返回,返回带有参数,如下图:
抓Https的包
1. 安装charles ca证书1.1 选择 help | Install Charles CA SSL Certificate
1.2 然后会弹出证书信息,选择安装证书,下一步,将证书存储改为:受信任的根证书颁发机构,下一步,完成
2. 修改charles的proxy settings
2.1 选择Proxy | Proxy Settings,弹出proxy设置选项卡,勾选Enabling transparent HTTP proxying2.2 选择ssl,勾选Enable SSL Proxying,在Location部份选择add,按如下图添加,抓取任意站点、443端口的数据
这个时候去抓https://googleads.g.doubleclick.net/pagead/html/r20181107/r20180604/zrt_lookup.html返回200就正确了!
URL映射 (把一个地址的请求转发到另一个地方)
用途:比如线上有个bug需要验证,可以用线上的APP往线下发请求
访问http://www.nnzhp.cn时向http://www.cc-na.cn/这个发请求
浏览器展示如下:
选择Map Local,映射到本地你保存的文件上面
选择map local 是返回本地文件内容
浏览器展示如下: