抓包工具有很多,目前用过的有Charles, Fiddler, burpsuite。下面主要是Charles 的应用实例。
一、 用Charles抓包
1. PC 抓包
打开Charles, 确保“录制”按钮已经开启, 访问想要抓的页面即可在Charles 里看到, 如下所示
Https 抓包需要开启SSL proxy
点击“Proxy -> SSL Proxy Setting -> Enabled SSL Proxying -> Add (拦截目标站点)” ,点击OK 保存。可以先访问目标url , 然后在Charles 找到这条记录,右键"Enabled SSL Proxying", 这样就会被开启。
例如访问“https://jingyan.baidu.com/article/ac6a9a5e1b34562b653eac15.html” 时就会出现下图,只要点“高级 -> 继续前往xxx(不安全)” 就可以了。
2. 手机抓包
Charles 设置:Proxy -> Proxy Setting -> 常见的设置8888或者8080
首先确保手机和电脑在同一网段,手机设置:wifi -> 代理 -> 手动 -> 填写主机名(电脑ip),端口号(上图端口号)
然后手机发起请求,要选择同意(allow) (如果没有弹出此界面,一般无法抓包,请确认防火墙关闭,并重启charles)
手机访问你的目标站点,这样就可以用Charles 抓到手机的请求了。
3. 请求过滤
当只需要观察目标请求数据时,可以过滤其他请求数据。
第一种: Proxy->Recording Settings->Include,点击Add添加需要观测的地址即可
第二种:在Sequence界面中输入Filter地址
第三种: 临时过滤,右击需要观察的请求,选择Focus,然后在Sequence界面右侧勾选Focused单选框,即可临时过滤观察请求。
设置过滤后,访问被过滤的站点,会出现下图的效果
二、 修改request
在Charles 中抓的目标站点记录"右键 -> 点击breakpoints",下次右键就会看到breakpoint 前有打勾的图标, 点击垃圾桶图标清除记录,再次访问目标站点,断点就会生效。这时访问的站点会处于加载状,可以通过“Edit Request” 修改请求, 点击“Execute” ,这样request 就会按你修改的进行提交。
三、 修改response
基于上面修改request 执行后,可以在Charles 中看到下图中的界面,可以对response 进行修改。
以下图为例,尝试把<title> 中的值改掉,可以直接进行修改,然后点击“Execute”, 即可以目标页面的page title改成了“你好 - nancy05 - 博客园”。
更多总结,下次接上!