手机app抓包

时间:2023-03-08 15:54:46
手机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请求下的数据了