zoukankan      html  css  js  c++  java
  • 手机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请求下的数据了
        
  • 相关阅读:
    winform访问https webservice
    rabbitMQ访问失败
    Redis断线测试
    微信消息推送
    线程控制
    Oracle.ManagedDataAccess.dll折腾了我两天
    IPC网络摄像机rtsp视频流web上H5播放方法
    微软补丁下载网站(备忘)
    ABP vnext 种子文件更新
    ABP vnext 使用Swagger账号登录时Chrome浏览器提示【The cookie 'XSRF-TOKEN' has set 'SameSite=None' and must also set 'Secure'.】错误,不能跳转登录
  • 原文地址:https://www.cnblogs.com/lizeqian1994/p/10751304.html
Copyright © 2011-2022 走看看