Paros抓包工具
用于抓取应用软件接口,获取数据
file:///Volumes/Captivity/第三方软件/paros抓包/paros-1/paros.jar
1. 保证 iphone/android 和电脑在同一个网段
2. 在 iphone Setting 设置电脑的 ip 地址 这里端口是随意写的 不过要保证>1024
3. 启动 paros
4. 点击代理 ,输入和 iphone 对应的 ip 和端口
5. 然后运行 iphone 上程序就可以看到数据包了
数据分析: GET 协议分析
http://wbapp.mobile.sina.cn/interface/ninesquares/getsearchicon.php?udid=e4
:ce:8f:7c:9c:41&uid=&wm=b207&posid=pos4f9ba29064868&from=603009301
2
这就是网址,可以直接放在浏览器中显示 也可以使用 ASI 直接获取
POST 协议分析
对于 POST 比较复杂一些。里面的参数需要你使用程序参数才能使用,比如 http://api.maopao.com:80/maopao/v2.0/postlocation deviceid=1dfe9be1f679d04ebcec86cf74d41813bcbc0daf&geolat=40.0340&geol ong=116.3441
类似代码如下:
- (void) foo {
NSURL *url = [NSURL URLWithString:@"http://api.maopao.com:80/maopao/v2.0/post location"];
ASIFormDataRequest *r = [ASIFormDataRequest requestWithURL:url];
//deviceid=1dfe9be1f679d04ebcec86cf74d41813bcbc0daf&geola
t=40.0340&geolong=116.3441
[r setPostValue:@"1dfe9be1f679d04ebcec86cf74d41813bcbc0daf" forKey:@"deviceid"];
[r setPostValue:@"40.0340" forKey:@"geolat"]; [r setPostValue:@"116.3441" forKey:@"geolong"]; [r setDelegate:self]; [r startAsynchronous];
}
对于图片上传使用
- (void)setData:(id)data withFileName:(NSString
*)fileName andContentType:(NSString *)contentType forKey:(NSString *)key
注意如果有请求头的办法: 诸如下面这些就是请求头:
POST http://api.maopao.com:80/maopao/v2.0/postlocation HTTP/1.1
Host: api.maopao.com:80
UserAgent:
iPhone:6.0.1/maopaopaipai:1.3.6/source:mppp_I_app/deviceinfo:iPhone3,1
Proxy-Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 81
Accept-Language: zh-cn
Accept: */*
Connection: keep-alive
User-Agent: mppp/1.3.6 CFNetwork/609 Darwin/13.0.0 Paros/3.2.13
给 ASI 设置请求头
r.requestHeaders = [NSMutableDictionary
dictionaryWithObjectsAndKeys:
@"api.maopao.com:80", @"Host", @"iPhone:6.0.1/maopaopaipai:1.3.6/source:mppp_I_app/devic einfo:iPhone3,1",
@"UserAgent",
@"mppp/1.3.6 CFNetwork/609 Darwin/13.0.0 Paros/3.2.13", @"User-Agent",
n

浙公网安备 33010602011771号