最近喜欢上了网络爬虫,还是挺有意思滴。Windows下http抓包很容易,直接使用Fiddler(Win10)工具就可以了,但是手机下抓包没有思路,于是求助度娘,最终找到了方法,特此记录一下。
Fiddler是什么?
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,查看所有的“进出”Fiddler的数据(html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。Fiddler是比较常用的http抓包工具之一。
Fiddler下载安装
官网下载地址:http://www.telerik.com/download/fiddler
官方文档(英文):http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureFiddler
Fiddler的工作原理
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
拦截手机请求前提条件
有一台安装Fiddler的机器(Windows/Mac),跟手机在同一个局域网内(Wifi), 否则收集不能把HTTP发送到Fiddler的机器上来。
截获手机发出的HTTP包有什么用?
用处一: 手机软件程序员利用Fiddler,可以截获手机发出的HTTP包, 从而调试程序
用处二: 软件测试人员用于测试智能手机上的软件。
用处三: 可以用来在App应用商店中刷排名
用处四: 截获了HTTP/HTTPS后,你想干什么就干什么,比如修改Request,或者Response.
Fiddler基本用法
界面布局:
打开Fiddler后,在浏览器中做任意请求,即可被Fiddler记录,包括返回码,请求协议,主机名,请求地址等等,可在请求区域查看详细的请求信息,在响应区域查看详细的返回结果。如下图:
配置Fiddler, 允许”远程连接”,对手机抓包
找到Tools->Telerik Fiddler Options->HTTPS, 选中”Decrpt HTTPS traffic”, Fiddler就可以截获HTTPS请求
找到Tools->Telerik Fiddler Options->Connections,将Allow remote computer to connect 选中,点击OK,然后重启Fiddler。如下图:
选中”Allow remote computers to connect”. 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来
获取Fiddler所在机器的IP地址
命令行中输入:ipconfig,获取ip地址
对手机进行代理设置
- 点击进入WLAN设置–选择连接的网络(一般是长按)–点击修改网络:
- 选中显示高级选项–>代理–>手动
- 代理服务器主机名设为电脑IP地址,端口设为:8888
手机上安装Fiddler证书
这一步是为了让Fiddler能捕获HTTPS请求。 如果你只需要截获HTTP请求, 可以忽略这一步。
打开收集浏览器, 访问 http://10.73.157.139:8888, 点”FiddlerRoot certificate” 然后安装证书:
大功告成,开始抓包
- 电脑上打开Fiddler
- 在手机中用浏览器或者其他APP,做网络请求,即可在Fiddler中记录:
例如:打开手机浏览器,百度搜索“Jenifer_CodeMonkey”:
完事!