序章
Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能用了之后就忘记了,每次去网站上找也很麻烦,所以搜集各大网络的资料,总结了一些常用的功能。
fiddler的原理
fiddler 调试器注册到操作系统因特网服务中,系统所有的网络请求都会走fiddler的代理,所以fiddler才能抓包。
Debug traffic from any client and browser? Fiddler helps you debug traffic from any browser: Internet Explorer, Chrome, Firefox, Safari, Opera, and more. Once you start Fiddler, the web debugger registers itself as the system proxy for Microsoft Windows Internet Services (WinINet), the HTTP layer used by Internet Explorer, Microsoft Office, and many other products. As the system proxy, all HTTP requests from WinINet flow through Fiddler before reaching the target web servers. Similarly, all HTTP responses flow through Fiddler before being returned to the client application.? Additionally, most devices that support Wi-Fi or Ethernet can be configured to send their traffic to Fiddler; this includes iOS, Android, Windows Phone and Windows RT devices.
?
fiddler解密https原理
其实fiddler就是中间人攻击,依次经过如下过程
- fiddler接到客户端的https请求,fiddler将请求转发给服务器
- 服务器生成公钥证书,返回给fiddler;fiddler拦截下真的公钥证书,并生成伪造的公钥证书给客户端;
- 客户端使用伪造的公钥证书加密共享密钥发送给fiddler,fiddler使用伪造的私钥解密获取共享密钥
- fiddler将解密后的共享密钥,使用真正的公钥加密发送给服务器端,服务器使用共享密钥与fiddler通信
- fiddler使用共享密钥与客户端通信
fiddler的下载安装
方式
1
:在官网上下载
:http://www.telerik.com/fiddler
方式
2
:使用下载的安装包进行安装
界面讲解
?
?
?
?查看fiddler是否安装成功
在控制台用ipconfig查看本机ip192.168.0.109,然后在浏览器上访问fiddler,路径为:192.168.0.109:8888(8888为fiddler的默认端口),访问成功之后如下所示。访问成功之后就意味着可以用fiddler抓取到http请求了。
?
?过滤器的应用
多台服务器,排查哪一台服务器出错,输入ip,出现5开头的错误,就说明哪台服务器出错了。
?左下方有钳子图标说明你代理打开了
?Use Filters:勾选则表示使用过滤,不勾选则表示不进行过滤 Actions:有四个选项: Run Filterset now:立即运行过滤设置; Load Filterset:加载保存的过滤设置; Save Filterset:保存过滤设置; help:帮助 Hosts:该设置项有两个选项: 第一个下拉框是只显示内网或者外网选项 第二个下拉框是根据主机名信息显示或者隐藏或者标记指定请求 Client Process:有三个选项: 1).Show only traffic from:根据进程信息进行过滤,选择后,将只显示由该进程发出的请求; 2).Show only Internet Explorer traffic:只关心由IE浏览器发出的请求; 3).Hide traffic from Service Host:隐藏来自service host(即由svchost.exe进程发出)的请求 Request Headers:有五个选项: 1).Show only if URL contains:可以通过正则表达式过滤请求地址中包含或不包含的内容,例如REGEX:.(js|css|js?.|css?.)$(隐藏所有js和css请求); 2).Hide if URL contains:与Show only if URL contains相反,一个是显示,一个是隐藏; 3).Flags requests with headers:支持指定某个http请求头名称,如果在web session列表中存在该请求头,会加粗显示该session; 4).Delete requests headers:与Flags requests with headers类似,这里是如果包含该请求头,则删除该请求头; 5).Set request header:将HTTP请求头更新为所输入的值。 Breakpoints:断点设置,有四个选项: 1).Break request on POST:对POST请求设置断点; 2).Break request on GET with query string:会为所有方法为GET且URL中包含了给定查询条件的请求设置断点; 3).Break on XMLHttpRequest:对所有能够确定是通过XMLHTTPRequest对象发送的请求设置断点; 4).Break response on Content-Type:会为所有响应头Content-Type中包含了指定文本的响应设置响应断点。 Response Status Code:根据响应状态码设置断点。 Response Type and Size:有几种类型: 1)一类是根据响应数据的类型显示或隐藏; 2)一类是根据响应数据的大小显示或隐藏; 3)一类是根据响应所需要的时间设置背景颜色; 4)一类是根据文件类型进行限制。 type有以下几种类型: 1.Time HeatMap复选框会基于服务器返回给定响应所需要的时间为每个session设置背景颜色。 2.Response Headers:与Request Headers不同的是,这块区域是针对响应数据的头部进行过滤。 ———————————————— 版权声明:本文为CSDN博主「wang_chenyang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/wang_chenyang/article/details/116992649
|