《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下


1.前言

  今天的理性认识主要就是讲解和分享Fiddler的一些理论基础知识。其实这部分也没有什么,主要是给小伙伴或者童鞋们讲一些实际工作中的场景,然后隆重推出我们的猪脚(主角)-Fiddler。

1.1工作场景

做app测试,你是否有过这样的经历?

1.后端开发同事在调试解决bug时 ,总找你拿着手机点点点,然后他在后台看数据是否异常。(一个上午,一不小心过去了)

2.前端开发同事在调试解决bug时,也找你过来帮忙造几个数据,于是你辛辛苦苦造了个数据,他点一下,数据用完了,bug没解决。于是乎又找你造数据。(一个下午,又一不小心过去了)

3.你曾经是否遇到过这种情况,当你发现一个bug提交给前端开发时,他说是后端返回数据的问题。于是你找到后端开发,他说是前端数据提交的问题,让你找前端开发。(一个晚上过去了,bug没解决。。。)

这个时候就有请我们的主角-Fiddler开始闪亮登场。前边这些他可以通通解决。

温馨提示:全程干货、内容比较多,建议新手朋友可以先点赞+收藏再慢慢观看! ??

2.简介

  在这个网络信息时代里,计算机安全始终是一个让人揪心的问题,网络安全则有过之而无不及。许多电脑高手 经常利用 Fiddler 可以作为代理的这个功能去抓取会话并进行修改达到自己想要的目的。Fiddler是一个强大并且跨平台的HTTP(S)抓包神器,你可别拿去做坏事。它的英文名叫:Fiddler,中文名叫:小提琴。Fiddler 是一个 HTTP 协议调试代理工具。它能够记录并检查所有你的电脑和互联网之间的 HTTP、FTP、HTTPS 的数据包。通过设置断点,用户还可以修改 “进出”Fiddler 的数据。由于 Fiddler 具备强大的数据抓包和修改功能,所以 Fiddler 广泛应用 Web 渗透测试领域。

Fiddler是最强大最好用的Web调试工具之一, 它能记录所有客户端和服务器的http和https请求。允许你监视、设置断点、甚至修改输入输出数据。Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。换言之,你对HTTP 协议越了解,你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能帮助你了解HTTP协议。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。

Fiddler是以web proxy代理服务器的形式工作的 , 它也是一个http协议数据抓包与调试代理工具,它能够记录和检查当前你的电脑和互联网之间的http消息, 也就是说可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作 还可以用来检测网络安全。

3.抓包

  抓包(packet capture):用特定的工具获取客户端与服务端发送和返回的数据包。目的是分析数据包的内容与协议,从而来判断是否符合设计要求。其实就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查IE, Chrome, Safari, and Opera浏览器的抓包,还支持一些客户端的http(s)抓包,前提是这些client支持http代理配置。

10.1图解

1) 客户端向服务器发送HTTP(S)请求时,请求会先经过代理Fiddler代理服务器。
2) Fiddler代理服务器截取客户端的请求报文,再转发到服务器,转发之前可以做一些请求报文参数修改的操作。
3) 服务器处理完请求以后返回响应报文,Fiddler代理服务器会截取服务器的响应报文。
4) Fiddler处理完响应报文后再返回给客户端。

Fiddler的原理简单点说就是通过改写HTTP代理然后让网络数据从Fiddler这边通过 这样子来监控并且截取到网络信息数据。当你打开Fiddler的时候, 就已经设置好了浏览器的代理了。当你关闭的时候,它会自动的帮你把代理还原。这里还要清楚一点的就是 浏览器默认走的是我们的系统代理,其实这里的代理监听 就是在 请求和响应之间插了一脚, 让fiddler成为系统代理。

1.在你安装好Fiddler之后启动,并可以打开菜单栏中的Tools--->options--->Connections ,如下图所示:

2.从上图可以看到:有一句Act as system proxy on startup意思就是(在启动时充当系统代理),并且默认监听端口设置为了8888。Fiddler就是一个中间的proxy(代理服务器),如下图所示:

3.查看自己电脑系统是否在启动Fiddler后,开启了代理,如下图所示:

4.当正常退出fiddler的时候,再次查看系统手动设置代理选项就会被清空并关闭,如下图所示:

11.小结

注意:这个Fiddler工具是基于.NET Framework的 ,因为Fiddler是c#开发的,如果是比较老的windows系统要保证运行环境!??Fiddler的安装方法也很简单 获取到安装包之后,直接选择安装路径 或 无脑下一步就可以了!??

Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,本地使用代理地址:127.0.0.1, 端口:8888.而当Fiddler开启会自动设置系统代理, 正常退出的时候它会自动注销代理,这样就不会影响别的程序。但是如果Fiddler非正常退出,这时可能会因为Fiddler没有自动注销,而会造成网页无法访问。

解决的办法是重新启动下Fiddler,然后正常退出就可以了, 这也是有很多新手安装了Fiddler之后导致一些网络无法访问的原因之一。