App抓包 -- 这里主要介绍 Charles

无论是作为一个移动端的开发者还是其他的网页端或者服务端开发人员,抓包都是必须要懂的,很多问题都只有通过抓包才能捕捉到。

抓包工具有 Charles、 mitmproxy 和 mitmdump,一些简单的接口可以通过 Charles 或 mitmproxy 分析,找出规律,然后直接用程序模拟来抓取了 。 但是如果遇到更复杂的接口,就需要利 用 mitmdump对接 Python来对抓取到的请求和响应进行实时处理和保存。 另外 ,既然要做规模采集, 就需要自动化 App 的操作而不是人工去采集,所以这里还需要一个工具叫作 Appium,它可以像 Selenium一样对 App进行自动化控制,如自动化模拟 App 的点击 、 下拉等操作 。

 

1、Charles 是一个网络抓包工具,相比 Fiddler,其功能更为强大, 而且跨平台支持得更好,所以这 里选用它来作为主要 的移动端抓包工具。

 

-- 下载Charles,安装

https://www.charlesproxy.com/latest-release/download.do

 

-- Charles 的 https 证书配置说明:

现在很多页面都在向 HTTPS方向发展, HTTPS通信协议应用得越来越广泛。 如果一个 App通信 应用了 HTTPS 协议,那么它通信的数据都会是被加密的,常规的截包方法是无法识、别请求内部的数 据的。

安装完成后,如果我们想要做 HTTPS抓包的话,那么还需要配置一下相关 SSL证书。 接下来, 我们再看看各个平台下的证书配置过程 。

Charles是运行在PC端的, 我们要抓取的是App端的数据,所以要在PC和手机端都安装证书。

 

-- Mac的 https 证书配置

如果你的 PC 是 Mac 系统,可以按照下面的操作进行证书配置 。

首先打开 Charles,点击 Help→SSLProxying• Install Charles Root Certificate,即可进入证书的安装页面。

接下来,找到 Charles 的证书并双击,将“信任”设置为“始终信任” ” •111:1.•ir:·u ...

即可,如图 1-47所示 。

iOS手机代理配置:

如果你的手机是 iOS 系统,可以按照下面的操作进行证书配置 。

 

首先,查看电脑的 Charles代理是否开启,具体操作是点击 Proxy→Proxy Settings,打开代理设置 页面,确保当前的 HTTP代理是开启的,如图 1-48所示。 这里的代理端口为 8888,也可以自行修改。

接下来,将手机和电脑连在同一个局域网下 。 例如,当前电脑的 IP为 192.168.1.76,那么首先设 置手机的代理为 192.168.1.76:8888,如图 1-49所示。

 

设置完毕后,电脑上会出现一个提示窗口 ,询问是否信任此设备,如图 1-50所示 。

 

此时点击 Allow按钮即可。这样手机就和 PC连在同一个局域网内了,而且设置了 Charles的代理,

即 Charles可以抓取到流经 App的数据包了。

 

 

接下来,再安装iOS手机端的 Charles 的 HTTPS 证书 。

打开Charles Help→SSL Proxying• Install Charles Root Certificate on a Mobile Device or Remote Browser,如图 1-51所示

此时会看到如图 1-52所示的提示 。

 

它提示我 们 在手 机上设 置好 Charles 的代理 ( 刚才已 经设置好了),然后在手机浏览器中打开

chls.pro/ssl下载证书 。

在手机上打开 chls.pro/ssl后,便会弹出证书的安装页面,如图 1-53所示。 点击“安装”按钮,然后输入密码即可完成安装,如图 1-54所示。 如果你的 iOS 版本是 10.3 以下的话,信任 CA 证书的流程就已 经完成了 。

如果你的 iOS版本是 10.3及以上,还需要在“设置”→“通用”→“关于本机”→“证书信任设 置” 中将证书的完全信任开关打开,如图 1-55所示 。

 

Android手机配置

如果你的手机是 Android系统,可以按照下面的操作进行证书配置。

在 Android 系统中,同样需要设置代理为 Charles 的代理,如 图 1-56所示 。

设置完毕后,电脑上就会出现一个提示窗口,询问是否信任此设备,如图 1-50所示,此时直接点 击 Allow按钮即可。

接下来,像 iOS设备那样,在手机浏览器上打开 chls.pro/ssl,这时会出现一个提示框,如图 1-57所示。

我们为证书添加一个名称,然后点击“确定”按钮即可完成证书的安装 。

 

参考著作:Python 3网络爬虫开发实战 崔庆才 著

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值