fiddler是什么?
百度百科定义:Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。
fiddler版本说明
fiddler2和fiddler4,功能没有区别,主要区别在于系统底层framework的版本不同,根据系统中安装的framwork版本来选择合适的fiddler版本。如果是win8以及以上,直接选择fiddler4,如果是win7或者xp你们就需要看一下系统的framework版本,fiddler4是运行在framework4以上的。fiddler2是运行在framework2.0以上的。建议将framework升级到4.0及其以上,因为对应的插件也是要分版本的。
fiddler工作原理?
在客户端和服务器之间创建一个代理服务器,客户端发起的所有请求通过fiddler创建的代理服务器才能到达最终的服务器。
fiddler是如何实现代理的呢?
通过修改浏览器代理服务器地址,fiddler截获所有发出请求,修改后的端口、地址就是fiddler所监听地址。(打开浏览器》更改代理服务器设置》局域网设置》代理服务器-高级)
fiddler代理模式
流模式(streaming):fiddler会把服务器返回给客户端应用程序的数据实时返回给我们
缓存模式(buffering):fiddler会等待http请求所有的数据都准备好之后才会返回给我们的应用程序
fiddler常用功能
1、监控http/https流量,可以从browser或客户端软件里面向服务器发送的htpp/https请求对其截获。
2、可以查看截获请求的内容
3、可以伪造请求,不仅可以伪造服务器返回的请求还可以伪造一个请求发送给服务器
4、可以测试网站的性能
5、解密https的web会话
fiddler的使用
抓包代理设置:chrome和ie都是用的系统代理,打开fiddler的capturing开关就可以捕获浏览器请求。但火狐的代理不是使用的系统代理,是独立的一套代理系统,所以不管你fiddler的开关(capturing)是否打开,都捕获不了火狐浏览器的请求。
将火狐代理设置改为使用系统代理设置或手动配置代理后,fiddler就可以捕获火狐浏览器请求。
远程代理设置:将浏览器代理设置为手动配置代理,输入对方fiddler机器上的IP、端口(fiddler设置里面的端口),将fiddler开启远程,重启
手机抓包:将fiddler端口设置好,远程连接打开。设置手机代理。安卓:打开wifi》长按网络》勾选高级选项-代理改为手动,配置好fiddler所在机器的ip和端口(手机和电脑必须在同一个网络状态下)IOS:打开wifi》HTTP代理-手动》配置好ip和fiddler设置的端口
https抓包:有时通过fiddler访问https的网站时访问不了,此时浏览器的证书与fiddler的证书不一致,我们需要把fiddler证书导出来,导入到相应浏览器,再次访问https就可以进行抓包了
手机访问https抓包:在手机默认浏览器访问一个特殊地址http://192.168.16.102:9999(IP是电脑IP,9999是fiddler端口)在页面上下载FiddlerRoot文件
websocket抓包:抓websocket的数据包和http的数据包有一些区别,就是将浏览器设置为手工配置代理,所有的选项都要打开。
域名过滤:使用fiddler过滤器,开启过滤器功能,勾选Use Filters,根据需求选中域名过滤方法,输入需过滤域名
进程过滤:过滤掉其它不需要的进程,帮助我们找到想要的包。比如过滤远程进程,fiddler只抓取远程访问的包
视频学习参考1(腾讯课堂):https://ke.qq.com/course/155088
视频学习参考2(慕课网):http://www.imooc.com/learn/37