1.目前抓包测试的软件主流的有2款: 1.charles 2.fiddler 均可以抓http+https的包,主要讲解Charles,Fiddler与Charles大同小异。
简介
- Charles 是在 Mac 下常用的网络封包截取工具,在做 移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。
- 除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。
- Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。
主要功能
1.截取 Http 和 Https 网络封包。
2.支持重发网络请求,方便后端调试。
3.支持修改网络请求参数。
4.支持网络请求的截获并动态修改。
5.支持模拟慢速网络。
具体安装及其配置
1.下载对应的环境的安装包 http://www.charlesproxy.com/download/ (也可以自行下载破解版的 后面有破解方式讲解)
2.安装完进入charles,配置pc端证书
3.弹出钥匙串。并设置证书为信任
4.配置代理端口号 这个端口号 根据自己电脑端口号设置,不能被其它应用占用该端口号
5.https抓包配置 host:需要抓包的域名/ip(也可以使用 * 通配符抓所有的) port:一般是443 也可以使用 * 通配符,抓所有端口的
6.移动端配置证书并信任 获取代理服务的IP及端口号 获取移动端证书下载地址
7.移动端先去 chls.pro/ssl 下载证书并信任该证书。然后在Wi-Fi那里配置代理 (注:先优先下载证书然后设置手机代理,charles没有启动,有时会影响手机网络无法使用)
使用
1.安装配置之后启动charles 主页展示
2.structure: 抓包的请求按照同一个请求连接成树状结构展示 sequence:按照时间请求的先后顺序展示
3.模拟慢速网络 在 Charles 的菜单上,选择 “Proxy”–>“Throttle Setting” 项,在之后弹出的对话框中,我们可以勾选上 “Enable Throttling”,并且可以设置 Throttle Preset 的类型
4.修改网络请求参数 有些时候为了调试服务器的接口,我们需要反复尝试不同参数的网络请求。Charles 可以方便地提供网络请求的修改和重发功能。只需要在以往的网络请求上点击右键,选择 “Edit”,即可创建一个可编辑的网络请求
5.服务器压力测试 可以使用 Charles 的 Repeat 功能来简单地测试服务器的并发处理能力。做的差的投票网站的可以用charles的这个功能增加投票量
6.修改服务器的返回内容 有些时候我们想让服务器返回一些指定的内容,方便我们调试一些特殊情况。例如列表页面为空的情况,数据异常的情况,部分耗时的网络请求超时的情况等。
7.其他 。Map功能、breakpoints功能、rewirite功能等 需要用的时候可以学习下。
破解
1.Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。所有我们需要破解
2.在线破解方式 https://www.zzzmode.com/mytools/charles/
出现的问题及其解决方案
1.为什么下载了,没法用? charles是基于java环境的,需要配置java环境。
2.打开需要10s,且每隔30min就自动关闭? 没有注册,需要破解。
3.手机设置代理之后,网络连接失败? 设置的代理IP或者端口号 不对。
4.抓不到https包? 这个问题有很多可能性。1.电脑的防火墙没有关闭。 2.charles中没有勾选ssl功能。 Proxy - Proxy Settings - SSL 设置。 3.移动端获取charles上证书没有改成信任 4.端口号被占用 5.其他原因。
5.后续问题既是更新。