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

Charles.png

<1> 使用“青花瓷”

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

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

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

<2>使用 HTTPScoop

使用httpScoop.png
  1. 保证 iphone/android 和电脑在同一个网段2. 在 iphone Setting 设置电脑的 ip 地址 这里端口是随意写的 不过要保证>1024
在同一局域网.png
  1. 启动 paros(首先你要把它下载下来,这个是个文件,使用它很简单,只需点击paros文件里面的可执行文件 run ,过几秒就会弹出下面界面了)我把paros放在了:https://github.com/ChengHuiHe/paros
启动软件.png
  1. 点击代理 ,输入和 iphone 对应的 ip 和端口
手机和电脑IP一致哦!.png
  1. 然后运行 iphone 上程序就可以看到数据包了
第一行的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];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,287评论 25 708
  • 218.241.181.202 wxhl60 123456 192.168.10.253 wxhl66 wxhl6...
    CYC666阅读 1,439评论 0 6
  • 喜欢你的色彩 还有爱着的模样 心形的叶片藏着相思 是两颗心的交融 是柔情交织在一起的潋滟 在遇见你的途中 在回眸一...
    田萍阅读 261评论 1 6
  • 2017-07-06日,一个一辈子都无法忘记的日子,拍X光,被告知为良性骨软瘤?我一下子就蒙了,以前总是能听到身边...
    抗癌的华仔阅读 530评论 2 0