Fiddler 抓包工具下载安装基本使用(详)

news2024/11/27 22:38:50

         在做软件测试或者Bug定位的时候会用到一些抓包工具,当然抓包工具还要一些其他用途可以做一些API的抓取,那么本篇内容就来讲 Fiddler 抓包工具的下载安装以及如何来实际的应用。讲了这些可能有的读者还不知道这个"Fiddler"怎么读呢?读 "非的了" 。那下面先来了解一下抓包工具有哪些?

软件名称简介是否支持独立运行是否支持移动设备
wireshak网络抓包,监听网卡
httpwatch集成到 IE 和 Chrome 中的网页数据分析工具
charleshttp代理,http监听,http反向代理,查看http通信信息
fiddler免费的http通信查看工具

抓包原理

        抓包工具是比较多样的,charles 和 fiddler 这两件算比较常见的,原理也差不多,下面先来了解 Fiddler 抓包的原理:

        从以上的这个图知道客户端直接发送数据请求到服务端,服务端响应数据请求返回给客户端,而在这个过程使用 Fiddler ,Fiddler以这种代理的模式存在于客户端与服务端之间,它会自主的抓取由客户端发起的请求,再将请求发给服务端,而服务端收到请求之后响应回去,这个过程对于客户端和服务端来是没有什么察觉的,但这个过程已经被Fiddler所抓取下来了。        


抓包注意事项

        在抓包的时候有这个PC端和移动端的,而 Fiddler 既可以抓取PC端也可以抓取移动端,同时如果是做软件测试的在测试环境中选择测试的系统环境 Window7 相比较于 Window10 来讲要更加稳定的(Win7/Win10皆可),在PC端上进行抓取的话,需要关闭防火墙以及杀毒软件,而在移动端上抓取的话需要进行代理,必要的情况之下还需要下载证书,记得关闭防火墙以包装移动设备与PC端保持连接(同一局域网)。

        一般情况下,Fiddler 抓取的是 http 协议的,但现有的很多请求有这个 https 的,https比http的安全度要高的,抓取的浏览器像Chrome、Firefox的话可以抓取到但必要的情况之下仍是需要安装证书的验证是否连网成功。


Fiddler 抓包工具下载安装

        ! 急用下载 :Download Fiddler Web Debugging Tool for Free by Telerik

        首先进入 Fiddler 的官网:Fiddler | Web Debugging Proxy and Troubleshooting Solutions

         往下活动找到这个地方,选择【Fiddler Classic】后点击【Try For Free】跳转

        填写完成之后跳转下载,等待下载完成之后,下载完成之后双击exe文件;

        安装完成之后没有看到桌面上的图标,可以使用搜索工具搜它的名称;

必要可以打开文件目录然后将主程序的exe右键发送一个快捷方式到桌面即可。然后打开选cancel


抓包配置

        配置之下需要电脑上的【.NET Framework】 是在4.0以上,一般现在的电脑都是满足的,除了比较有年代的电脑,这个在哪里可以看到呢?你在安装的时候如果没有会有提示的,同时也可以在你电脑卸载程序的地方就可以查看到的,我这边的是4.8的(4.0以上即可);

         打开Fiddler抓包工具进行一个配置:选择【Tools】下的【Options】

        默认情况下Fiddler是抓取http的包,那么需要设置抓取这个https:

        紧接着是下载证书,出现以下这三个内容之后则下载成功!        再对这两项内容进行勾选:        点击【Actions】之后先点击第一项【Trust Root Certificate】会出现弹窗显示选择【YES】,然后点击【确定】即可,完成之后再点击第二项导出这个证书【Export Root Certificate Desktop】后会在桌面出现【FiddlerRoot.cer】这个文件,即证书文件,如果到此没有报错的不需要看下面这块内容,可以跳过,报错的可以看一下下面的解决方案:


        如果在这个操作上有报错误的,可以尝试打开浏览器然后输出你的电脑IP然后接上8888这个端口:如何得知电脑IP? 打开CMD命令窗口,输出命令【ipconfig】之后找到这个IP,可能会出现一堆,只需要找到无线局域网的IPv4地址,我这边是这个,你自己查询你自己!

        打开浏览器在地址栏输入你的ip+端口号:http://192.168.1.100:8888 


        证书下载完成之后来进行下一项Connections连接的配置,配置完成之后需要重启 Fiddler 才会生效的 :

        配置完成之后重新再打开看一下是否配置成功了!


Fiddler PC端代理配置

        打开浏览器之后,可以打开它的【设置】,找到代理弹窗来配置,比较旧的一些可能就会有,大部分浏览器找到的就是【打开您计算机的代理设置】这项,那么这里演示的是Win10;

        点击之后会来到本机的代理设置,之后你可以在【搜索】处找代理设置就可以,不需要到浏览器来设置,除了需要安装证书,即前面下载到的证书进行一个导入,否则不需要。

        打开之后,再打开 Fiddler抓包工具 之后,在浏览器中打开某些页面,它会发起一些请求,此时这些请求会被 Fiddler 所抓取到。

 * 注: 设置手动则注意使用Fiddler之前看看是否设置了代理,以及能否正常上网!


Fiddler 使用界面

        下面来认识一下Fiddler的使用界面,分为这四大块:

        Fiddler 菜单栏目和工具栏的内容是比较多的,所以不依次对每个功能进行说明,在后面用使用到的来进行具体说明,那么来看一下 Web Session 面板,这块面板就会显示所抓取的每条http请求,即为一个session;

  • [ # ]                        HTTP Request 请求顺序,从1开始按页面加载的请求顺序进行递增;
  • [ Result ]                HTTP 响应状态,如200,404,301,500等请求状态码;
  • [ Protocol ]             请求使用的协议(如:HTTP/HTTPS/FTP);
  • [ Host ]                   请求地址的域名;
  • [ URL ]                   请求的服务器路径和文件名,也包括GET请求参数;
  • [ Body ]                  请求体的大小,单位:byte;
  • [ Caching ]             请求的缓存过期时间或缓存控制 header 等值;
  • [ Content-Type ]     请求响应类型;
  • [ Process ]              发出此请求的Windows进程及进程ID;
  • [ Comments ]          用户通过脚本或者右键菜单给此session做标注;
  • [ Custom ]               用户可以通过脚本设置的自定义值;

 下面再来看一下 Web Session 右侧的面板详情和数据统计面板:

Statistics 面板可以看到请求用时:

Inspectors 面板提供了Headers,TextView,WebForm,HexView,Auth等多种方式来查看http请求的请求报文信息:

        可以在WebView查看响应内容。

AutoResponder 面板,AutoResponder功能属于Fiddler中比较强大且重要的功能。

作用:

        1. 拦截某一请求,并重定向到本地资源或者使用Fiddler内置响应;

        2. 调试服务器端代码而无需要修改服务器的代码以及配置; 

(拦截或被重定向,实际上访问的是本地资源或者Fiddler内置响应)

下面来简单的测试一下AutoResponder :

        在桌面或者其他位置编写一个html文件,任意写即可:

<!DOCTYPE html>
<!-- test.html -->
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Test</title>
</head>
<body>
    <h3>Test 文件</h3>
    <p>* 重定向到本地资源 - test.html </p>
</body>
</html>

        * 下面先进行【浏览器代理设置】,上述的FiddlerPC代理设置可以进行设置,PC代理且能够正常上网了之后,我们在浏览器中来进行发起请求,这里做演示,那么可以随意找一个请求,如果你不知道你就在浏览器地址输入如下请求:

https://blog.csdn.net/weixin_52203618?type=blog

        此时在你的Fiddler抓包工具就会抓取相关的请求了;

        在Web Session面板选择一个请求即选择一个session切到这个 AutoResponse 面板;

         点击右键【Open URL】;

         此时跳转的链接是 https://blog.csdn.net/weixin_52203618?type=blog ,但页面上所要出现的内容却不是该链接的内容,而是刚刚所编写的html页面。

         这是请求被拦截重定向到本地资源处!


Composer 面板,可以用来模拟向服务器发送数据的过程

同时还可以在 Raw 中来设置请求达到模拟数据请求的目的,同时还可以设置一些请求头等;

Filters 面板,最后来讲一下这个Filters,即过滤器;

        Filters可以设置Fiddler的过滤规则,从而来过滤掉一些http请求,可以抓取http请求或https请求,Fiddler的过滤功能是非常强大的,可以过滤特定的http请求状态码,还可以过滤像 css image js等这些请求以及过滤请求报文的大小byte请求。

使用时可以进行一个勾选:

         在抓包的过程中你在点击其他操作的时候可能会被抓取,那么在Web Session面板中就会出现很多的session,这个时候要来查看的话可能会比较麻烦,太多了,那么可以来设置这个,这里假设要显示blog.csdn.net所发起的请求,那么可以使用【show only the following Hosts】,然后在下面的方框内来去设置一下它的主机名,即这个 blog.cs.net 

         那么往下还有比较多的过滤设置如有需要的话再来讲解。


设置断点

  • Before Requests

        在发送请求之前,在Fiddler进入代理中转到服务端之前,这时可以进行一个修改数据请求的数据。

  • After Responses

        在服务器响应之后,在Fiddler进入代理中转到客户端之前,这时可以来修改响应的结果。

        设置端点的功能时比较强大的,如设置之后 After Responses 之后会在 Inspectors 面板中来查看,下面来做一个小测试,读者可以使用自己做过的一些项目拿出来测试一些请求,那么下面来简单演示一个 After Responses 断点,在服务器响应回来的时候,在Fiddler代理这里来进行一个处理之后再转给客户端;

( 去到该网站测试一下:跳转链接 )

         在进行注册登录的时候,这里如果是手机号的话,一般会在前端以及后端设置这个校验,使用正则还是其他,首先这个手机号码是11位的,第一位是以1开头,第二位是以3~9,没有这个2,那么当我们输入一个不符合手机的号码获取验证码,它会返回一个错误提示反馈给到我,那么在服务器响应回来的时候,在进入Fiddler代理未转入给到客户端的这个时候来吧数据给修改了然后返给客户端。

下面来进行一个正常的流程:

1. 在手机号处填写不合法的号码(123 4567 8900)然后进行获取验证码;

        结果很显然,符合我们的预期,对手机号码的格式进行了校验并且反馈提示说明。那么下面我们来设置断点来看一下。 

下面来进行操作设置断点:

1. 开启代理这个不用讲吧,可以是计算机的代理,然后设置【Rules】为这个【After Responses】

2. 设置过滤器来过滤其他无关的请求,以便更加直观,然后切回Inspectors面板

3. 切回到浏览器在手机号处填写不合法的号码(123 4567 8900)然后进行获取验证码;

 4. 打开Fiddler,可以看到服务器响应回来的数据被Fiddler所代理了;

        可以看到这个代理的结果与之前正常请求所得到的响应结果一样。 

5. 在Fiddler中来修改响应的数据信息

6 . 点击这个【Run to Complection】然后切回浏览器;

         可以看到浏览器响应的是被Fiddler所代理修改的响应数据,以上就是设置断点的内容的一个样式,上述讲到的相关内容主要是关于WEB PC端的抓包,那么移动端设备如何来抓取呢?


Fiddler 移动端代理配置

        移动端设备的抓包与PC端的抓包方式与前面的内容是同理的,移动设备的抓包重点在于移动设备如何与PC相接使用Fiddler。

1. 首先是在同一局域网;

        这个比较好理解,即手机移动端设备与PC端处在同一网络,最简单的就是在同一个WIFI之下就可以。

2. 查询PC端设备的无线局域网IP;

        这个上面的内容也提及到了,打开CMD窗口,输入如下命令:

ipconfig

        然后找到无线局域网适配器WLAN下的IPv4地址即可。

3. 打开手机移动端设备的WIFI设置

        填写PC端的IP 就是上述步骤2拿到的IP地址192.168.124.23,端口号则是8888,然后点击保存即可,在必要的情况下需要安装证书,可以先测试一下能够抓包,不行就来安装证书,证书的获取在上述已经讲过了,拷贝一份到移动设备上然后安装即可。准备就绪之后,下面就来测试一下能够抓包成功。


移动端设备抓包测试 

        1. 配置好上述讲的移动设备代理配置之后,会重新接入网络,看能够正常接入WIFI。

        2. PC端是不需要设置代理;然后在PC端打开Fiddler抓包工具;

        3. 关闭手机的其他应用,保证没有后台,不然Fiddler在抓包的时候就会抓取到很多的请求;

        4. 打开一款APP进行测试:

打开【百度贴吧】,看PC端的Fiddler会跑出多少请求:

        能够正常的接到移动端设备并实现抓取;

         以上就是本篇的全部内容了,内容仍是比较基础的抓包知识,如果你对抓包感兴趣的话可以在深入的学习一下,那本篇内容就到这,在后续会为大家推出另外一些抓包的工具使用像 Charles工具,这个也是比较流行,感谢兴趣的话可以点赞关注支持一下,后续为大家更新更有质量的内容,感谢大家的支持!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/551076.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

详解flutter刷新流程,让你的应用更流畅

本文已授权公众号【缦图技术团队】发布 详解flutter刷新流程&#xff0c;让你的应用更流畅 一、概述 Flutter 是谷歌推出的高性能、跨端UI框架&#xff0c;可以通过一套代码&#xff0c;支持 iOS、Android、Windows/MAC/Linux 等多个平台&#xff0c;且能达到原生性能。Flutte…

pthread_getspecific和pthread_setspecific详解

写在前面 在Linux系统中使用C/C进行多线程编程时&#xff0c;我们遇到最多的就是对同一变量的多线程读写问题&#xff0c;大多情况下遇到这类问题都是通过锁机制来处理&#xff0c;但这对程序的性能带来了很大的影响&#xff0c;当然对于那些系统原生支持原子操作的数据类型来…

【CV】Yolov8:ultralytics目标检测、关键点检测、语义分割

note Yolov8提供了一个全新的 SOTA 模型&#xff0c;包括 P5 640 和 P6 1280 分辨率的目标检测网络和基于 YOLACT 的实例分割模型。和 YOLOv5 一样&#xff0c;基于缩放系数也提供了 N/S/M/L/X 尺度的不同大小模型&#xff0c;用于满足不同场景需求骨干网络和 Neck 部分可能参…

KVM(一)Linux部署KVM及新建虚拟机

目录 一、准备工作 1.1 防火墙、SElinux 二、安装KVM 2.1 yum源 2.2 安装工具包 2.3 安装KVM组件 2.4 查看磁盘/新建目录 2.5 安装Linux GUI可视化界面 三、KVM桌面版新建虚拟机 3.1 挂载目录 3.2 新建raw/qcow2文件 3.3 新建虚拟机 3.4 KVM命令行新建虚拟机 一、…

Linux rootfs

前言 通过《initrd&init进程》我们知道rootfs 是文件系统的根目录&#xff0c;其包含了操作系统所需的所有文件和目录&#xff0c;包括程序、库文件、配置文件、设备文件等&#xff0c;它是系统启动时必须加载的文件系统之一。当系统启动后&#xff0c;内核会首先挂载 roo…

本地Jrebel 许可服务器搭建

一、下载 下载 JrebelLicenseServer.zip 二、解压 解压后进入 bin 目录 三、服务安装|启动|停止|删除|... 安装服务&#xff1a;JrebelLicenseServer.bat install启动服务&#xff1a;JrebelLicenseServer.bat start停止服务&#xff1a;JrebelLicenseServer.bat stop删除服…

【Three.js】第一、二章 入门指南和基础知识

01.介绍 Three.js 非常庞大&#xff0c;你可以用它做无数的事情。 在第一章中&#xff0c;我们将学习所有基础知识&#xff0c;例如创建第一个场景、渲染、添加对象、选择正确的材料、添加纹理、为所有内容制作动画&#xff0c;甚至将其放到网上。有些人可能会觉得这部分有点…

如何轻松掌握接口测试——POST请求和COOKIE使用技巧?

目录 引言 请求方法&#xff1a; POST请求方法&#xff1a;添加资源&#xff08;对服务端已存在的资源也可以做修改和删除操作&#xff09; 实战练习 实战练习2 COOKIE&#xff1a; Status Code&#xff1a;协议状态码 接口文档 结语 引言 对于初学者或者没有接口测试…

[笔记]渗透测试工具Burpsuit《一》Burpsuit介绍

文章目录 前言一、安装配置1.1 环境1.2 安装过程1.3 科技过程 二、常用功能2.1 Manual penetration testing features2.2 Advanced/custom automated attacks2.3 Automated scanning for vulnerabilities2.4 Productivity tools2.5 Extensions 三、拓展功能 前言 Burp Suite(b…

设计原则-单一职责原则

在编程大环境中&#xff0c;评价代码组织方式质量的好坏涉及到各个方面&#xff0c;如代码的可读性、可维护性、可复用性、稳定性等各个方面。而在面向对象语言中也可以通过以下各个方面&#xff1a; 类中方法的设计类中属性的设计类(接口、抽象类、普通类)的设计类与类之间的…

IMU 积分进行航迹推算

IMU 积分进行航迹推算 Reference https://github.com/gaoxiang12/slam_in_autonomous_driving 1.0 递推方程推导 \quad 连续时间内的 IMU 运动学方程&#xff1a; R ˙ R ω ∧ q 1 2 q ω ˙ p ˙ v v ˙ a \dot{\mathbf{R}}\mathbf{R}\omega ^{\wedge} \\ \dot{\mathbf{…

[CTF/网络安全] 攻防世界 weak_auth 解题详析

[CTF/网络安全] 攻防世界 weak_auth 解题详析 弱认证弱认证绕过方法姿势Burp Suite 爆破 总结 题目描述&#xff1a;小宁写了一个登陆验证页面&#xff0c;随手就设了一个密码。 弱认证 weak_auth翻译&#xff1a;弱认证 这个术语通常用来描述一种较弱的安全认证方法或机制&am…

HTML语法、常用标签、表单,CSS选择器。简单登录页面的实现

HTML和CSS粗略介绍 文章目录 HTML和CSS粗略介绍HTML页面第一个HTML页面添加图片和视频 HTML语法规范div标签span标签转义字符 HTML常用标签换行和分割线标题超链接列表元素表格 HTML表单输入框和按钮多行文本 CSS样式CSS选择器input标签选择器id选择器类选择器 组合选择器和优先…

【HackTheBox Bagel】打靶记录

一、namp扫描到5000 8000 22 端口 二、访问8000端口&#xff0c;看到跳转到域名bagel.htb&#xff0c;加入到hosts 看到该url 像文件包含&#xff0c;尝试fuzz一波 尝试找公私钥均未果&#xff0c;找到了cmdline 进一步对其包含 HTTP/1.1 200 OK Server: Werkzeug/2.2.2 …

Java多线程异常处理

文章目录 一. 线程中出现异常的处理1. 线程出现异常的默认行为2. setUncaoughtExceptionHandler()方法处理异常3. setDefaultUncaoughtExceptionHandler()方法进行异常处理 二. 线程组内出现异常 一. 线程中出现异常的处理 1. 线程出现异常的默认行为 当单线程中初出现异常时…

工业缺陷检测数据及代码(附代码)

介绍 目前,基于机器视觉的表面缺陷检测设备已广泛取代人工视觉检测,在包括3C、汽车、家电、机械制造、半导体与电子、化工、制药、航空航天、轻工等多个行业领域得到应用。传统的基于机器视觉的表面缺陷检测方法通常采用常规图像处理算法或人工设计的特征加分类器。一般而言…

【Tomcat下载及使用说明】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 1.什么是Tomcat 2.Tomcat下载流程及注意问题 …

Eclipse将代码收缩if/for/try,支持自定义区域收缩

Hi, I’m Shendi Eclipse将代码收缩if/for/try&#xff0c;支持自定义区域收缩 最近忙于给网站增加功能&#xff0c;在使用 Eclipse 编写 Java 代码时发现一个函数内代码过多&#xff0c;并且 if&#xff0c;for&#xff0c;try这种代码块无法收缩&#xff08;在IDEA&#xff0…

【快速入门-简单实现】使用Java实现的单播、组播和广播

说明 TCP是一个面向连接的协议&#xff0c;TCP一定是点对点的,一点是两个主机来建立连接的&#xff0c;基于TCP实现的肯定是单播(但单播还可以使用UDP协议实现)。只有UDP才会使用广播和组播。 Java中的单播、组播和广播可以使用TCP或UDP协议来实现&#xff0c;具体取决于应用程…

【C语言】实现猜数字游戏——随机数

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;C语言 该篇将对 选择与循环语句 进行运用&#xff0c;实现猜数字游戏。 需求&#xff1a;游戏后可以选择再次进行游戏&#xff0c;也可以选择…