抓包大致有以下两种途径:
可以用第三方软件,比如fiddler(本机需要有.net 运行环境):
优点是功能完善,不但可以用多种格式分析请求和回应,还有计算时间,拦截https消息,手动修改请求和回应等功能。
2. 用浏览器自带的分析器:
firefox安装firebug插件, 按F12,切换到 Net 标签页:
IE浏览器, 按F12,切换到网络标签页,启用流量监视:
场景目前产线的H5,插入到不同的APP里;
遇到一个场景,产线有问题,但是自测验证测试环境没问题,想排查下后端问题或者JS是否有异常,需要vconsole或者eruda
理解要纠正:APP对抓包限制,不是限制所有域名,特别是外部的H5链接的域名,他们不会去限制。
他们一般限制的是自己域内的域名,针对其他域名,人家也不会care.
这种情况,如何正确使用charles呢?
如果这样设置,只有m-uat.com的域名会被抓包,其他的都放过,也就不存在无法抓包的情况。
Tools ->Rewrite ->Enable Rewrite
点击 Add ,进入一个子窗体 ->Name : 你随便写一个,可以用域名区分
Replace里value的填入(你自己也也可以换成eruda,或者其他版本的vconsole):
这个标签做正则匹配
保存即可,具体参考下图
=====
本质提示就是替换HTML里面的内容,加上 一个远程的文件,其他的场景也可以这么做
我们也可以通过 Tools ==>Map Remote add添加链接替换,直接把产线链接换为测试或者uat链接。
首先要确保手机和安装有Fiddler的计算机处在同一个局域网中,可以使用路由器,或者使用笔记本发送热点给手机使用。在这里本人是使用手机USB共享功能让笔记本联网的。进入cmd输入ipconfig/all。查看IPv4地址,如下图。下面设置代理需要用到该地址。打开Fiddler。在Tools中选择【Fiddler Options】。选择选项卡【HTTPS】在apture HTTPS CONNECTs前打钩。
选择选项卡Connections,按下图钩选相应的项。注意到Fiddler listens on port:8888。这是Fiddler默认的监听地址。也就是我们在设置代理时使用的端口号。一般保持不变就好。
下载证书。可以在电脑中输入本机的回传地址,端口号是8888如下图所示,点击最下面的【FiddlerRoot certificate】即可下载,发送到手机安装证书,具体证书的安装方法自己百度。或者在手机浏览器中输入第一步得到的IPv4地址:8888也行。
手机端的配置。手机进入wifi配置界面,如下图。这里的主机名就是第一步的IPv4地址。端口号为8888。前面已经多次提到。配置成功后点击【确定】。然后断开wifi,关闭Fiddler。重新连接wifi在打开Fiddler。
经过以上的配置后,就可以用Fiddler监控到手机的上网行为了。以下是在手机UC中打开sina的捕获图。可以看到有很多与其他站点的通讯,可以使用过滤或者关闭一些后台程序来净化。