实现目标

在Mac 上 对 iOS  真机 和 模拟器 进行 Http/Https抓包

使用工具

Mac 上 Charles 4.2 
安装 参考链接 1. 和 链接 2.

抓包 http 请求

(1) 保证真机 和 Mac  使用 同一个 局域网(wifi),查看Mac IP地址,例如 192.168.x.xx
(2) 选择Proxy | Proxy Settings,弹出proxy设置选项卡,勾选Enabling transparent HTTP proxying
     真机 点击设置 —> 无线局域网—>指定wifi—>设置代理 
     服务器 填写 (1)获取的IP
     端口号 填写 8888 (Charles 默认 http proxy port 为 8888,可以在 charles —> Proxy—>Proxy Settings  修改 http proxy port
 )
(3)真机配置完成,打开Charles  开始抓包前 会弹出 是否允许抓包弹框  点击允许 至此真机抓包正常 可按需求 配置查看 request response 相关数据信息
(4)模拟器抓包 需要把电脑设置为代理:
 
抓包 http 请求 charles —> Proxy—> macOS Proxy 勾选 即可,这样 ,你通过浏览器请求的网址都会出现在这里,iOS模拟器的所有的网络请求也会出现在这里。

抓包 https 请求

charles 也要遵守 https 协议,因此需要下载官网 CA证书
证书下载地址:参考图,位置可能在Help里 多找找菜单栏,主要是在SSL Proxying 里,里面有好多证书,很方便我们以下的各种操作
 
 
(1) Mac 到 参考 3. 下载根证书即CA证书 或者 SSL Proxying 中 Install Charles Root Certificate 即可 非常方便,用钥匙串打开,此时是不被信任的,点击右键,显示简介—>信任选项 第一项—>改为“始终信任”
如图:
  -->

(2)手机安装证书

SSL Proxying 中点击Install Charles Root Certificate On a Mobile or...这项 会弹框,弹框会提示下载地址,

然后复制链接 在手机 Sarfri 浏览器中打开 会提示下载相关操作,按提示处理即可。(网上会有其他下载方式,但是我操作不好使,仍然不能抓包 只有按照Charles提示的下载地址才行)

特殊在 如果是iOS11以上 手机 要打开信任开关,设置-->通用-->关于本机-->证书信任设置--> 指定证书开关开启

其他的都是通过网上其他攻略下的 都不好使。。。所以就跟着Charles提示即可

(3) SSL Proxying Settings  勾选Enable SSL Proxying,在Location部份选择add,按如下图添加,抓取任意站点、443端口的数据

* 代表任意站点,也可以指定站点

(4)同 http 抓包步骤 (1)(2)

至此,当手机重新 发出https请求时候,抓包结果就能不再是 unknown了 能够正常解析了。

模拟器?此时只要 Install Charles Root Certificate in iOS Similaors 即可正常抓包

 
参考:
 
1.https://www.charlesproxy.com/download/ (官网 下载小花瓶)
2. http://charles.iiilab.com (小花瓶 安装攻略)
3.https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/(根证书地址)
4.https://segmentfault.com/a/1190000005070614 (配置 参考)

Mac 环境 下使用Charles 抓包Http/Https请求的更多相关文章

  1. 【接口工具】mac环境下使用Charles抓包Https请求

    Charles支持针对Https包解析.具体安装导航请参考“[接口工具]接口抓包工具之Charles” 操作流程 电脑安装证书: Help-SSL Proxying-Install Charles R ...

  2. Charles抓包(http/https请求)

    Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装官网下载安装Charles:https://www.charlesproxy.com/download/当然由于国情可以使用破 ...

  3. 【这特么是个坑。。。】iOS 10.3下解决Charles抓包ssl证书信任问题

    针对近期iOS 10.3以上的系统charles抓https信任问题 前言 最近iPhone系统更新到ios 10.3后,在公司里用Charles抓包竟然出现了一些问题,https的请求都会失败,提示 ...

  4. 记录Mac下使用Charles抓包

    抓包 简述 在网络应用如后端系统,app,小程序等的开发过程中,免不了接口可能会报错,但是一般在app中或者小程序中没有便捷的console控制台,而且线上环境也不会开启调试模式,所以想看一下接口的响 ...

  5. Mac下使用Charles抓包Android

    原文地址:http://fanjiajia.cn/2018/11/21/Mac%E4%B8%8B%E4%BD%BF%E7%94%A8Charles%E6%8A%93%E5%8C%85Android/ ...

  6. Mac下使用Charles抓包https接口

    1 官方网站下载,安装好Charles https://www.charlesproxy.com/download/ 2 安装ssl证书 3 信任证书 4 手机iPhone配置 ,获取证书url 5 ...

  7. Ubuntu 16.04下安装Charles抓包工具

    Charles是一个跨平台的抓包工具,虽然没有Fiddler做的这么完美,但是也算是另一个选择. 下载: https://www.charlesproxy.com/download/ 注册: http ...

  8. Linux环境下使用tcpdump抓包与下载

    (1)报文抓取 tcpdump -i eno5 host 10.8.12.154 -w /test.cap -i:抓取的网卡 host:目的地址 -w:生成的文件存放路径 Ctrl+c 结束抓包,抓取 ...

  9. ROS环境下使用Wireshark抓包(网桥)

    在ROS的管理工具>数据包探测设置里>常规接口选为LAN,数据流>数据流启用>服务器:Wireshark电脑的IP,筛选> IP选要抓包的IP地址 然后在Wireshar ...

随机推荐

  1. FMDB使用(转载)

    来自会员pengtao的分享:(原文:https://github.com/ccgus/fmdb) 由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍.与此同时,把SQL ...

  2. Extjs中设置只读的样式问题

    废话不多说,直接上代码:   view.down('#imageFile').hide(); view.down('#save_button').hide(); view.show(); view.d ...

  3. CentOS环境下yum安装LAMP

    第一步:更新系统内核 yum -y update 如果执行失败报错,可以执行修复命令:rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY* 第二步: 安装Apahce.M ...

  4. E - Leading and Trailing 求n^k得前三位数字以及后三位数字,保证一定至少存在六位。

    /** 题目:E - Leading and Trailing 链接:https://vjudge.net/contest/154246#problem/E 题意:求n^k得前三位数字以及后三位数字, ...

  5. Import语句

    在Java中,如果给出一个完整的限定名,包括包名.类名,那么Java编译器就可以很容易地定位到源代码或者类.Import语句就是用来提供一个合理的路径,使得编译器可以找到某个类. 例如,下面的命令行将 ...

  6. OpenCV中Kinect的使用(3)

    接OpenCV中Kinect的使用(2),下面内容主要讲述使用OpenNI 控制Kinect 的马达,实现摄像头的上下摆动. 下面是透过OpenNI比较低阶的USB控制介面(XnUSB.h),来做到马 ...

  7. 新MBP使用git命令时启用xcode的终端log

    Last login: Mon Oct 22 12:41:33 on consoleuser:~ me$ git Agreeing to the Xcode/iOS license requires ...

  8. 爬虫-python调用百度API/requests

    from urllib.request import urlopen import requests import json url = "http://apis.baidu.com/txa ...

  9. 面试题:Spring的理解

    答案:D AOP为Aspect Oriented Programming的缩写, 意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术. AOP是OOP的延续,是软件开发 ...

  10. linq内联左联

    内联:没有into 左联:有into 例子: from GoodsStore in this.GetCurrentDbSession.Tbl_OfficeSupplies_GoodsStoreDLL. ...