青花瓷 和 HTTPScoop(手机抓取数据)

青花瓷 和 HTTPScoop(手机抓取数据)_第1张图片
Charles.png

<1> 使用“青花瓷”

  1. 手机和拦截的电脑要在同一个局域网中;
  2. 将手机上网的代理朊务器设置为电脑的IP,端口8888
  3. 看上部列表左侧可以知道请求方法类型,GET & POST
  4. 在下面点Response可以看到朊务器的响应结果,通常图片都是异步加载,一个Response对应一个图像
  5. 点下面的Requset可以看到发送给朊务器的请求

日常跟踪时,可以根据Response判断哪些请求是我们需要的,然后夊制对应的URL即可。

青花瓷只是跟踪数据,是一个抓包工具,上能依赖青花瓷去开发完整的应用程序,在日常工作中,这些JSON都是由公司后端程序员提供的。

<2>使用 HTTPScoop

  • 首先确保你的机器安装了Java的SDK,没有可以去官网下载。
  • 安装教程:http://www.7do.net/resources-2728-1-1.html
使用httpScoop.png
  1. 保证 iphone/android 和电脑在同一个网段2. 在 iphone Setting 设置电脑的 ip 地址 这里端口是随意写的 不过要保证>1024
青花瓷 和 HTTPScoop(手机抓取数据)_第2张图片
在同一局域网.png
  1. 启动 paros(首先你要把它下载下来,这个是个文件,使用它很简单,只需点击paros文件里面的可执行文件 run ,过几秒就会弹出下面界面了)我把paros放在了:https://github.com/ChengHuiHe/paros
青花瓷 和 HTTPScoop(手机抓取数据)_第3张图片
启动软件.png
  1. 点击代理 ,输入和 iphone 对应的 ip 和端口
青花瓷 和 HTTPScoop(手机抓取数据)_第4张图片
手机和电脑IP一致哦!.png
  1. 然后运行 iphone 上程序就可以看到数据包了
青花瓷 和 HTTPScoop(手机抓取数据)_第5张图片
第一行的GET就是数据了.png

数据分析:GET 协议分析
把GET 请求的数据复制下来:
“http://wbapp.mobile.sina.cn/interface/ninesquares/getsearchicon.php?udid=e4:ce:8f:7c:9c:41&uid=&wm=b207&posid=pos4f9ba29064868&from=6030093012”

  • 这就是网址,可以直接放在浏览器中显示 也可以使用 ASI 直接获取
    POST 协议分析
    对于 POST 比较复杂一些。里面的参数需要你使用程序参数才能使用,比如http://api.maopao.com:80/maopao/v2.0/postlocationdeviceid=1dfe9be1f679d04ebcec86cf74d41813bcbc0daf&geolat=40.0340&geolong=116.3441
    类似代码如下:
    - (void) foo {
    NSURL *url = [NSURLURLWithString:@"http://api.maopao.com:80/maopao/v2.0/postlocation"];
    ASIFormDataRequest r = [ASIFormDataRequestrequestWithURL:url];
    //deviceid=1dfe9be1f679d04ebcec86cf74d41813bcbc0daf&geolat=40.0340&geolong=116.3441 [rsetPostValue:@"1dfe9be1f679d04ebcec86cf74d41813bcbc0daf"forKey:@"deviceid"];
    [rsetPostValue:@"40.0340" forKey:@"geolat"]; [r setPostValue:@"116.3441" forKey:@"geolong"]; [r setDelegate:self]; [r startAsynchronous];
    }
    对于图片上传使用
    - (void)setData:(id)data withFileName:(NSString
    )fileName andContentType:(NSString *)contentTypeforKey:(NSString *)key
    注意如果有请求头的办法:诸如下面这些就是请求头:
    POST http://api.maopao.com:80/maopao/v2.0/postlocation HTTP/1.1Host:
    api.maopao.com:80UserAgent:iPhone:6.0.1/maopaopaipai:1.3.6/source:mppp_I_app/deviceinfo:iPhone3,1Proxy-
    Connection: keep-alive
    Content-Type: application/x-www-form-urlencodedContent-Length: 81Accept-Language: zh-cnAccept: /
    Connection: keep-aliveUser-Agent: mppp/1.3.6 CFNetwork/609 Darwin/13.0.0 Paros/3.2.13
    给 ASI 设置请求头
  • 代码如下:
    r.requestHeaders = [NSMutableDictionarydictionaryWithObjectsAndKeys:
    @"api.maopao.com:80",
    @"Host",@"iPhone:6.0.1/maopaopaipai:1.3.6/source:mppp_I_app/deviceinfo:iPhone3,1",
    @"UserAgent",
    @"mppp/1.3.6 CFNetwork/609 Darwin/13.0.0Paros/3.2.13", @"User-Agent",
    nil];

你可能感兴趣的:(青花瓷 和 HTTPScoop(手机抓取数据))