使用Charles对移动设备抓包

1.Charles简介

Charles是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用,安装Charles的时候要先装好Java环境。这里是破解版的下载链接,提取码是:fjoo


2.Charles主要功能

  • 支持SSL代理。可以截取分析SSL的请求。
  • 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求
  • 支持AJAX调试。可以自动将json或xml数据格式化,方便查看
  • 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看
  • 支持重发网络请求,方便后端调试
  • 支持修改网络请求参数
  • 支持网络请求的截获并动态修改
  • 检查HTML,CSS和RSS内容是否符合W3C标准

3.Charles使用

  • 证书安装使用Charles对移动设备抓包_第1张图片
    抓电脑的包选择 install Charles Root Certificate
    抓移动端的包选择install Charles Root Certificate on mobile Device or Remote Browser
    这里记得安装证书时,需要将证书添加到受信任的证书列表

  • 设置Https抓包
    默认没开启https抓包,需要设置 SSL 代理:通过主菜单打开 Proxy | SSL Proxy Settings 弹窗,勾选 Enable SSL proxying,点击Add按钮,可以过滤出允许https访问的网址,如果没有特殊需求,可将这里设置为*,意为全部匹配
    使用Charles对移动设备抓包_第2张图片

  • 浏览器的选择(划重点)
    需要注意的是,ChromeFirefox浏览器默认并不使用系统的代理服务器设置,而 Charles是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 ChromeFirefox浏览器的网络通讯内容。如果你需要截取的话,在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成127.0.0.1:8888 也可达到相同效果。

  • 找不到requestresponse
    新版本的Charles默认没打开requestresponse,打开Edit->prefrence,选择Viewers,将默认的Combine request and response勾去掉即可使用Charles对移动设备抓包_第3张图片

4.对PC端抓包

现在的配置就可以对PC端进行抓包了,我这里在浏览器中访问百度,搜索关键词123456,得到以下结果,可以在Request中找到我的搜索项
使用Charles对移动设备抓包_第4张图片

抓取到的响应数据
使用Charles对移动设备抓包_第5张图片


4.在移动端抓包

  • 在移动端和PC端安装证书

    PC端安装证书在前边讲过了,不予赘述

    移动端安装证书需要访问移动端浏览器,在网址输入栏键入chls.pro/ssl,下载好证书后,需要安装证书,我这里用的是ipad,需要在设置->通用->描述文件->选择证书,信任,然后还有亿点小插曲

    我的设备是ios10.3,按照上述证书信任后,还不能正确抓包,因为这个还没有正确信任,它提示你Client SSL handshake failed: An unknown issue occurrenotepadd processing the certificate (certificate_unknown)

    解决方案:设置->通用->关于本机->证书信任设置-> 找到charles proxy CA然后信任该证书即可.
    使用Charles对移动设备抓包_第6张图片


  • 配置代理

    确认当前移动设备与安装charles的电脑在同一局域网下,选择配置代理一项,选择手动

    配置IP地址:在服务器一栏键入安装Charles电脑的IP地址(可通过cmd的ipconfig查看或者通过Charles的Help一栏查看)

    配置端口:在Charles中寻找Proxy->proxy Settings查看端口,默认为8888

    然后你的PC端会发送一个请求,允许代理


  • 代理后移动端无网络的解决方案

    需要将系统的防火墙关闭,即可正常访问网络

    最后抓完包记得将代理关闭(敲黑板)


  • 试着抓个包

    打开Bilibili,搜索一下我女朋友的名字新垣结衣,出现以下界面

    然后我们看一下Charles中我的请求keyword:新垣结衣
    使用Charles对移动设备抓包_第7张图片
    然后是抓取到的关于我老婆的一点信息:使用Charles对移动设备抓包_第8张图片

5.总结一下

其实,抓包什么的不太重要,我只是来秀我老婆的

你可能感兴趣的:(计算机网络)