网络抓包教程 // JWDev 

JerryXia 发表于 , 阅读 (0)

使用场景

1. 想做一些功能,但是没有相应地数据!其实就是借用一下人家的数据啦.2. 分析当前程序异常网络情况.

基础知识

  1. 平时我们连上wifi上网,其实所有的网络流量都是通过路由器走得,也就是说如果我们有路由器管理权限的话,其实是可以看见说有连上路由器的终端的所有上网记录的.
  2. 但是去登陆路由器去查看APP网络连接情况比较复杂,所以我们通过给手机设置代理来查看手机app连接情况.设置代理很简单,原理就是让你的手机所有的网络流量都通过你电脑走,这样,你的电脑就可以截取这些信息了,同时可以加以分析.

操作步骤

  1. 安装Charles

1.1 下载

下载链接(官网) http://www.charlesproxy.com/download/
百度网盘地址 链接: http://pan.baidu.com/s/1hqFBv5E 密码: 6sfv

1.2 安装

图一(安装)
image

图二(程序图)
image

  1. 手机设置网络代理
    2.1 获取当前电脑IP地址
    图三(获取IP地址)
    image
    2.2 设置Charles
    图四(设置charles)
    image
    2.3 设置手机网络代理
    这里必须要注意了,你的手机和你的电脑必须在一个网络中(简单点说就是连着一个路由器,或者叫做可以互相通讯)
    打开手机设置里地网络连接设置界面
    图五(打开手机网络设置)
    image
    图六(设置手机HTTP代理)
    image
    设置完成后点击返回,手机端即设置完毕
    接下来电脑端一般会弹出一个窗口如下:
    图七(设置电脑可以获取到手机网络信息)
    image

    大功搞成,基本设置完成,接下来可以查看到手机的数据信息了

  2. 查看Charles 抓取的 数据
    当你的Charles 和 手机代理都配置好了后,电脑上的Charles 就可以接受数据了.
    图八(接受到数据)
    image
    其中 左边是手机发起的所有的请求
    右边是每一个请求的详细情况.

    但是注意:其中一些数据肯定不是我们想要的,比如: .qq.com, **.umeng.com,还有.apple.com这样的后缀的请求,一般情况先我们是用不上的,所以首先排除这些数据.

    如果排除了这些无关的请求,其他的请求还是很多,我们就先 commant + a 全选这些请求,然后点击delete 键,删除所有的请求,然后刷新我们要获取接口的那个界面,刷新一下,这是请求列表中就会多去我们要的接口详细.

  3. 分析测试数据
    接口有了,我们选中一个请求,查看请求信息.
    图九(request)
    image
    选择左边接口,右边就会切换为这个接口的信息,右边中的request会显示这个接口请求发出去时的信息

    图十(response)
    image
    选择response 后 发现下面还有几个可以选择的,第一个是header,就是接受到的响应的信息.(注意:这儿不是我们想要的数据,这儿只是对于一些数据来描述我们请求的数据的一些信息),我们正真想要的数据其实是在Json 或者 Json Text 中可以看的见.
    图十一(网络请求结果)
    image

    这是我们就可以看见我们想要的json格式的数据了.