• charles系列02——如何抓移动端和web端的请求


    前言

    一、charles的抓包操作

    1.1 charles与手机/电脑的连接

    1.1.1 charles与手机端的连接

    使手机和电脑在一个局域网内,不一定非要是一个ip段,只要是同一个路由器下就可以了。

    (1)首先利用cmd -config命令查看自己电脑的ip地址

     
     

    (2)然后在手机端的wifi代理设置那里去进行相关的配置设置。

    这里的代理服务器地址填写为电脑的ip地址,然后端口这里写8888(这个是charles的默认设置),如果自己修改了就写成自己所修改的端口就可以了。

     
     

    配置完成,会看到一个charles与手机端的连接提示弹窗,选择allo即可。

     
     

    (3)手机端抓包https

    上述1、2步骤,只针对http请求。由于https协议的特殊性,所以要求电脑端和手机端都需要安装下证书,否则会看到返回的数据都是乱码。

    a.电脑端证书下载

     
     

    b. 手机端证书下载

    在设备上打开这个网址 http://www.charlesproxy.com/getssl 安装 Charles SSL 证书。

    注意,同一个手机对应不同电脑上的Charles都要分别下载证书进行认证,因为手机的证书是和电脑端的Charles一一配对的。

     
     

    PS:ios手机,需要信任该证书

    C.相关配置

    选择Proxy | Proxy Settings,弹出proxy设置选项卡,勾选Enable SSL Proxying,在Location部份选择add,按如下图添加,抓取任意站点、任意端口的数据。

     1.1.2 charles与电脑端的连接

    由于charles会自动配置浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。直接打开网页就可以了。

     注意:

    (1)Charles支持抓去http、https协议的请求,不支持socket。

    (网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket)

    (2)防火墙关掉

    1.1.3 过滤请求

    通常情况下,我们需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。对于这种需求,以下几种办法:

    方法一:在主界面的中部的Filter栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:www.baidu.com,那么只需要在 Filter 栏中填入www.baidu.com即可。

     
     

    方法二:在Charles的菜单栏选择 “Proxy”->”Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。如下图所示:

     
     

    通常情况下,我们使用方法一做一些临时性的封包过滤,使用方法二做一些经常性的封包过滤。

    方法三:在想过滤的网络请求上右击,选择“Focus”,之后在 Filter 一栏勾选上 Focussed 一项,如下图所示:

    这种方式可以临时性的,快速地过滤出一些没有通过关键字的一类网络请求。

     
     
  • 相关阅读:
    C2B未来:大数据定制
    Linux开发环境的搭建和使用——Linux 常用的命令使用
    iebook 发布到网站 独家秘诀
    ZOJ 2679 Old Bill(数学)
    DFA最小化 -- Hopcroft算法 Python实现
    How to initialize a static const map in c++?
    新秀操作和维护注意事项:Windows关于使用Xshell管理你的云主机
    HDOJ 4883 TIANKENG’s restaurant
    谈论multistage text input(中国输入法)下一个UITextView内容长度的限制
    iOS 网络错误-分类
  • 原文地址:https://www.cnblogs.com/miaoxiaochao/p/13025606.html
Copyright © 2020-2023  润新知