美文网首页
Charles抓包使用教程

Charles抓包使用教程

作者: 九千年小妖 | 来源:发表于2021-01-24 09:13 被阅读0次

    简介:

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

    Charles是在 常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析HTTP协议

    Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。(可以自行网上查找破解版软件)

    Charles破解charles.jar(去这个网站生产jar包,替换原来的jar包就可以了)

    Charles 主要的功能包括:

    截取 Http 和 Https 网络封包。

    支持重发网络请求,方便后端调试。

    支持修改网络请求参数。

    支持网络请求的截获并动态修改。

    支持模拟慢速网络。

    1. Charles安装

    前提先安装配置好Java环境,官网下载安装Charles:https://www.charlesproxy.com/download/

    2. HTTP抓包

    查看ip地址

    方法一: 打开”运行”(快捷键:win+R键;或者在任务栏的”搜索”按钮中查找并点击”运行”),输入“cmd”后进入命令行窗口,在命令行窗口中输入”ipconfig”命令查看IP 

    方法二: 在charles中查看 :Help -> Local IP Address

    (2)Charles代理设置

    接下来打开Charles的代理设置:Proxy->Proxy Settings,设置一下端口号,默认的是8888,这个只要不和其他程序的冲突即可,并且勾选Enable transparent HTTP proxying。

    (3)在手机设备、模拟器或者远程浏览器上设置代理

    抓取手机设备上的请求包(手机和电脑必须在同一个局域网内,并关闭电脑防火墙、其他代理或者翻墙软件)

    第一步:在手机wifi 上设置代理 -> 长按无线网络-->修改网络-->高级选项-->代理 手动-->手动输入输入IP、端口号

    服务器IP:PC机器的IP(通过之前介绍的查看IP的方法)

    端口号:8888(通过之前介绍的查看端口的方法

    第二步:Charles弹出询问“allow”或者“deny”,点击“allow”按钮允许;出现手机的HTTP请求列表

    安装证书

    第三步:抓取https数据需要在手机上安装证书,HTTPS的抓包需要在HTTP抓包基础上再进行设置

    如果我们需要在iOSAndroid机器上截取 Https 协议的通讯内容,还需要在手机上安装相应的证书。

    设置前抓包HTTPS接口显示unknown(图左),设置后接口正常展示,如下图右

    Https请求出现乱码

    这时候你就需要安装Charles的CA证书了

    以下为在HTTP抓包基础上进行HTTP抓包的进一步设置步骤:

    Help -> SSL proxying -> Install charles root certificate on a Mobile Device or remote browser…

    出现弹窗得到地址chls.pro/ssl

    在手机自带的系统浏览器输入地址chls.pro/ssl,出现证书安装页面,点击安装,手机设置有密码的输入密码进行安装。安装完证书后,就可以截取手机上的 Https 通讯内容了。不过同样需要注意,默认情况下 Charles 并不做截取,你还需要在要截取的网络请求上右击,选择 SSL proxy 菜单项。

    注意2:iOS 10.3系统,需要在设置→通用→关于本机→证书信任设置里面启用完全信任Charles证书

    ios安装证书

    Android安装证书

    再次进入手机设置,点击“更多设置->系统安全->从存储设备安装->Download->.crt文件->确定”,在弹出窗,对证书命名为:Charles,点击确定(首次安装证书会让输入锁屏密码)。至此证书安装成功!立即在电脑端对手机网络进行抓包吧!

    Charles设置Proxy代理

    Proxy -> SSL Proxying Settings... 勾选Enable SSL Proxying,点击Add,点击Add,Host设置要抓取的https接口,  

    Host : * (使用通配符表示检测所有网络请求;建议还是设置单个需要抓取的https host,尽量避免使用 * 通配符)

    Port:443

    比如想抓这个,Host填写:https://api.weibo.cnPort填写:443

    !!!完成以上操作,就完成Charles抓取HTTP(S)数据包的所有配置了。查看Charles,我们可以看到数据包的内容了。

    windows证书安装也是一样的

    会出现证书安装的信息,我这边已经安装成功,第一次可能需要安装

    将证书安装在“受信任的根证书颁发机构”,这步很重要

    最后提示导入成功,出现如上述证书信息显示说明证书安装成功,也可在证书路径中查看证书安装结果

    3.勾选Proxy——Windows Proxy

    4.选择Proxy——SSL Proxy Setting,添加Location

    Host和Port均设为*,

    5、想要对浏览器请求进行抓包,还要对浏览器的证书进行设置,如下图操作

    出现如下提示信息,提示你去路径 chls.pro/ssl 下载证书,访问路径可自动下载

    6、导入浏览器证书,这里以Chrome浏览器为例,打开设置—高级—管理证书

    7、按如下步骤进行选择证书导入,记得第3步文件类型要选择所有,不然匹配不到pem格式的文件

    8、和工具端一样,将证书存储到“受信任的根证书颁发机构”下,后面直接下一步即可


    相关文章

      网友评论

          本文标题:Charles抓包使用教程

          本文链接:https://www.haomeiwen.com/subject/udekzktx.html