利用Fiddler抓取APP数据


利用Fiddler抓取APP数据

96 
简杨君  关注
2016.11.03 18:51*  字数 368  阅读 762 评论 0

软件:Fiddler
系统:Windows10
手机:MX4 PRO

Fiddler安装和设置

通过地址下载Fiddler安装包(点击即可跳转),安装完成后需要进行简单的设置。
打开Fiddler进入菜单栏Tools > Telerik Fiddler Options > HTTPS


HTTPS

分别将Decrypt HTTPS traffic(截获HTTPS请求)和Ignore server certificate errors(unsafe)(允许别的机器把HTTP/HTTPS请求发送到Fiddler)打勾,端口号默认8888


Paste_Image.png

获取电脑IP

Windows系统在Dos命令下输入ipconfig后回车,找到本机网络连接的IP地址,如下图192.168.3.75


Paste_Image.png

Paste_Image.png

设置手机

使用Android手机打开手机连接与电脑同个无线网络,找到代理设置进行手动设置,服务器填电脑的IP地址192.168.3.75,端口号填8888,点击保存设置。接着打开手机浏览器,访问192.168.3.75:8888,点"FiddlerRoot certificate" 然后安装证书。


代理设置


安装证书

使用手机抓包

以沃·行讯通为例,手机安装APP打开后点击“的士”后就就可以到Fiddler里面找到状态码200,Host为nxxt.gzyyjt.net:8008/的抓包信息,右侧的JSON里面可以看到车辆的数据,下一步我们就来解析这些数据。



Fiddler界面

使用Python处理JSON数据

用requests模块可以直接解析json字符串,再循环遍历所有数据并打印出来。

import requests


url = 'http://nxxt.gzyyjt.net:8008/xxt_app/taxi/getByCoord?reqpara=%7B%22devno%22%3A%22ffffffff-bb40-f2c5-388e-665a7c890a3e%22%2C%22devtype%22%3A0%2C%22direc%22%3A0%2C%22gpstime%22%3A1478156331262%2C%22lat%22%3A23.103395%2C%22lng%22%3A113.314984%2C%22speed%22%3A0%2C%22uid%22%3A159521%2C%22version%22%3A%223.1.1.0%22%2C%22versiontype%22%3A1%7D&longitude=113.314984&latitude=23.103395&range=500&pagesize=10000&_=1478156330868'
response = requests.get(url).json()

for car in response['retData']:
    plate_num = car['plateNum']
    longitude = car['mapCoord']['x']
    latitude = car['mapCoord']['y']
    print plate_num, longitude, latitude



http://www.jianshu.com/p/a9db6823f0f7?from=singlemessage

















  爬虫师

你可能感兴趣的:(爬虫)