手机app抓包

简介

爬虫是cs架构中的c端 原理是模拟浏览器向服务器发送请求

如果要爬取手机APP的数据,APP也是服务端与浏览器性质相同
我们只要获取到手机APP给服务器发送数据 并加以分析就能模拟它的请求 从而获取到数据

实现思路:
    在app和服务器之间设置一个代理服务器
    1.app的请求先发送给代理服务器
    2.代理服务器把请求转发给真实服务器
    3.真实服务器返回数据给代理服务器
    4.代理服务器将数据返回给app客户端

需要的工具软件

1.Charles  代理服务器
2.postman/paw 模拟请求的工具

手机APP爬取流程

参考教程 https://www.jianshu.com/p/4635aa405568
1.charles安装并启动
    默认 Proxy(代理)->选择Windows Proxy 可以直接代理windows请求 抓取windows软件的请求数据
    取消Windows Proxy 就可以断开代理windows

2.要抓取手机APP 让手机与charles所在的电脑处于同一局域网中(连接同一个wifi即可)
    如果没有wifi可以将电脑的网络进行共享(win10自带热点共享 其他系统可以安装网络共享工具)
 
3.将手机的代理服务器设置为charles(将代理服务器与手机设置为同一端口) 
    代理服务器 -> Proxy -> Proxy Settings ->可以查看端口号
    安卓手机 点击链接打wifi 找到代理 选择手动 填写主机名与路由器的地址一致,端口为服务器的端口地址
    苹果 蓝色感叹号 默认代理 选择手动 服务器与路由器的地址一致,端口为服务器的端口地址

4.连接后charles会有一个弹出框,选择allow即连接成功

5.如果是HTTP请求 可以直接获取数据
如果要获取HTTPS请求 需要安装证书
给电脑安装证书:
  1.Proxy -> SSL Proxying Settings 勾上Enable SSL Proxying 
    -> Add Host:*(所有都代理) Port:443(HTTPS的端口) ->OK
  2.装证书:Help ->  SSL Proxying -> Install Charles Root Certificate ->安装证书 ->本地计算机 -> 将所有证书都放入下列存储 ->收信任的根证书颁发机构 ->导入成功 我们可以在管理用户证书中看到该证书

给手机安装证书:
    Help ->  SSL Proxying -> Install Charles Root Certificate on a Mobile ...
    -> 手机浏览器访问chls.pro/ssl ->下载证书(如果下载的是*.pem文件要改名为*.crt 不然无法安装)
    ->给手机安装证书 以小米手机为例:点击设置-更多设置-系统安全-加密与凭证-从存储设备安装/从SD卡安装-找到刚才浏览器下载证书的路径选择安装,为这个证书起名-点确定完成安装-回到Charles,我们就可以看到https请求下的数据了
    

 

posted @ 2019-04-22 17:11  Zhuang_Z  阅读(595)  评论(0编辑  收藏  举报