目录
Fiddler是一个用于调试和分析HTTP和HTTPS流量的工具。下面是使用Fiddler抓取HTTP和HTTPS包的教程:
1.Fiddler介绍
下载官网:https://www.telerik.com/fiddler
1)Fiddler 是一个 HTTP 协议调试代理工具,是由 C# 写出来的,它包含一个简单却功能强大的基于 JScript.NET 事件脚本子系统,灵活性极高,并且能够使用 .net 框架语言进行扩展,可以记录并检查所有客户端和服务器之间的 HTTP 和 HTTPS 请求,允许你监视、设置断点、甚至是修改输入输出数据,也可以进行请求构造、设置网络丢包和延迟进行 APP 弱网测试等。
···Fiddler的原理:
Fiddler 的原理是以 Web 代理服务器的形式进行工作的,代理(Proxy)就是在客户端和服务器之间设置一道关卡,对 Web 客户端来说,Fiddler(代理)扮演的是服务器的角色,接受请求报文,返回相应报文;对于 Web 服务器来说,代理扮演的是客户端的角色,发送 Web 请求报文,接受 Web 相应报文。
2)以下是Fiddler的一些主要特点和功能:
···HTTP(s)捕获:Fiddler可以捕获所有通过HTTP或HTTPS协议传输的数据包,包括请求和响应的头部信息、请求内容和响应内容等。
···数据修改:Fiddler允许开发人员修改请求和响应的数据,包括修改请求参数、请求头部、响应内容等。这对于调试和测试网络应用程序非常有用。
···自定义脚本:Fiddler支持使用JScript.NET编写自定义脚本,通过脚本可以自动化一些操作,例如自动填充表单、自动化测试和性能分析等。
···抓包过滤:Fiddler可以根据指定的条件过滤捕获的数据包,从而帮助开发人员快速定位关注的请求或响应。
···会话比较:Fiddler允许开发人员比较不同会话之间的差异,包括请求和响应的差异,从而帮助快速发现问题和优化性能。
···客户端调试:Fiddler可以配置为代理服务器,从而可以捕获和分析通过其他客户端发送的HTTP(s)请求。这对于调试移动应用程序或其他客户端应用程序非常有用。
总之,Fiddler是一个功能强大的网络调试工具,通过它可以方便地分析和修改HTTP(s)流量,从而提高开发效率和优化网络应用程序。
2.Fiddler常用功能 按钮介绍
1)Capture按钮:用于开始或停止捕获网络流量。当点击Capture按钮时,Fiddler会开始捕获浏览器与服务器之间的HTTP/HTTPS流量,你可以在Capture面板中查看捕获的数据。
2)Filters按钮:用于设置过滤规则,可以按请求或响应的URL、域名、关键字等进行过滤,以便只查看感兴趣的请求或响应。
3)Composer按钮:用于手动创建和发送HTTP请求。你可以在Composer面板中指定请求的URL、方法、头部、正文等内容,然后点击"Execute"按钮来发送请求。
4)AutoResponder按钮:用于创建自动响应规则。你可以在AutoResponder面板中指定匹配规则和相应动作,例如,当请求的URL匹配某个规则时,可以返回一个固定的响应或重定向到另一个URL。
5)Inspectors按钮:用于查看和分析请求和响应的详细信息。你可以在Inspectors面板中查看请求和响应的头部、正文、Cookie、缓存等相关信息。
6)Rules按钮:用于自定义Fiddler的行为和扩展其功能。你可以在Rules面板中编写自定义脚本(FiddlerScript),用于修改请求和响应、添加自定义规则等。
7)Options按钮:用于设置Fiddler的各种选项和首选项。你可以在Options面板中配置代理设置、HTTPS解密、日志记录、流量捕获等各种选项。
3.Fiddler抓取HTTP和HTTPS
Fiddler是一个用于调试和分析HTTP和HTTPS流量的工具。下面是使用Fiddler抓取HTTP和HTTPS包的教程:
1)下载和安装Fiddler:首先,从Fiddler官方网站(http://www.telerik.com/fiddler)下载最新版本的Fiddler,并按照安装向导进行安装。
2)启动Fiddler:安装完成后,双击桌面的Fiddler图标启动Fiddler。
3)配置HTTPS抓取:默认情况下,Fiddler只能抓取HTTP流量,要抓取HTTPS流量,需要进行一些配置。在Fiddler的菜单栏上选择"Tools",然后选择"Options"。在弹出的对话框中,选择"HTTPS"标签页,并勾选"Decrypt HTTPS traffic"复选框。接下来,Fiddler会生成一个自签名的根证书,点击"Actions"按钮,选择"Trust root certificate",按照提示进行操作,将根证书添加到系统受信任的根证书颁发机构列表中。
4)开始抓取:配置完成后,Fiddler就可以开始抓取HTTP和HTTPS流量了。打开浏览器,访问任意网站,Fiddler会自动捕捉到HTTP和HTTPS的请求和响应,并在Fiddler的界面中显示。
5)分析请求和响应:在Fiddler的界面中,可以查看每个请求和响应的详细信息。点击左侧的"Web Sessions"选项卡,可以看到所有的请求和响应列表。选择其中的一个请求或响应,右侧的窗口会显示其详细信息,包括请求头、响应头、请求体、响应体等。
6)过滤和搜索:如果流量比较大,可以使用Fiddler的过滤和搜索功能来定位特定的请求或响应。在Fiddler的界面上方的搜索框中输入关键词,Fiddler会自动过滤出包含该关键词的请求和响应。
7)修改请求和响应:Fiddler还可以用于修改请求和响应。在Fiddler界面中选择一个请求或响应,右键点击,在弹出的上下文菜单中选择"Edit",可以修改该请求或响应的内容,然后保存修改。
8)导出和保存:Fiddler可以将抓取的流量导出为不同的格式,以便进一步分析。在Fiddler界面上方的工具栏中,选择"File",然后选择"Export Sessions",选择要导出的格式,如SAZ、HAR等。
4.Fiddler抓取手机上的包
下面是使用 Fiddler 抓取手机包的步骤:
1)首先,确保你的手机和电脑连接在同一个局域网中,并且已经正确配置了代理。
2)在手机上设置代理,将代理设置为你电脑的 IP 地址和 Fiddler 的默认端口号 8888。具体设置方式会根据手机的类型和操作系统有所不同,可以在手机的 Wi-Fi 设置中找到代理选项进行设置。
3)打开 Fiddler,并确保它已经开始监听网络流量。如果没有启动,可以在 Fiddler 的菜单中选择 Tools -> Capture Traffic 来启动抓包功能。
4)在手机上访问你想要抓取的应用或网站,并进行一些操作,使得应用产生网络请求。
5)在 Fiddler 中可以看到捕获到的网络请求和响应。你可以通过过滤器来筛选特定的请求,例如只显示特定域名下的请求。
6)单击任意请求,可以查看请求和响应的详细信息,包括头部信息、请求参数、响应内容等。
7)如果需要保存某个请求或响应,可以右键点击该请求,选择 Save -> Selected Session,并选择保存的文件路径。
通过以上步骤,你就可以使用 Fiddler 抓取手机包了。请注意,在使用 Fiddler 抓取手机包时,你需要获得访问手机应用或网站的合法权限,以遵守相关法律和规定。
5.Fiddler 如何进行弱网测试
Fiddler 模拟网络环境的不稳定和延迟。下面是使用 Fiddler 进行弱网测试的步骤:
1)在 Fiddler 中打开 Rules -> Customize Rules。
2)在打开的脚本中搜索 OnBeforeResponse,找到以下代码段:
// Disable caching for certain domains.
if (oSession.HostnameIs("www.example.com")) {
oSession.oResponse.headers.Add("Cache-Control", "no-store");
}
3.在该代码段下方添加以下代码,以模拟弱网环境:可以根据需要调整延迟时间和传输速率。
// Simulate network latency.
oSession["response-trickle-delay"] = "3000"; // 设置延迟时间,单位为毫秒
// Simulate slow network connection.
oSession["response-trickle-rate"] = "1024"; // 设置传输速率,单位为字节/秒
4)保存脚本,关闭窗口。
5)在 Fiddler 中启动抓包功能。
6)使用浏览器访问需要进行弱网测试的网站或应用。
通过以上步骤,Fiddler 将模拟延迟和较慢的网络连接,从而进行弱网测试。你可以观察请求和响应的时间、加载速度等指标,以评估应用在弱网环境下的性能和稳定性。
6.Fiddler如何断点做接口测试
1)打开Fiddler,并确保已经配置好代理设置。
2)连接你的手机到同一网络,并将手机的代理设置为Fiddler所在的IP地址和端口。
3)打开你的手机应用,并进行接口操作。
4)在Fiddler的主界面上,你可以看到已经捕获到的接口请求。
5)在请求列表中选择想要设置断点的请求,右键点击并选择"Break on Request"或"Break on Response"。
·······"Break on Request"表示在发送请求之前停止。
········"Break on Response"表示在接收到响应之后停止。
6)当请求达到所设置断点时,Fiddler会自动停止,并在"Inspectors"面板中显示相关的请求和响应数据。
7)在"Inspectors"面板中,你可以查看请求的各种信息,并进行调试、修改或分析。
8)如果想要继续请求,可以点击"Run to Completion"按钮来继续执行接口请求。
9)当完成断点测试后,可以关闭断点或者断开手机代理设置。
7.Fiddler如何实现自动化脚本
可以使用FiddlerScript,它是Fiddler的自定义脚本语言。通过编写FiddlerScript脚本,你可以自动化执行一系列操作,如修改请求和响应、添加自定义规则等。
1)打开Fiddler,并选择菜单栏上的"Rules",然后选择"Customize Rules"。
2)在打开的脚本编辑器中,你可以看到一些默认的示例代码。
3)编写你自己的FiddlerScript脚本,根据你的需求自定义相关的逻辑和操作。可以参考FiddlerScript文档(https://docs.telerik.com/fiddler/extend-fiddler/extendwithdotnet)来了解FiddlerScript的语法和可用的API。
4)将脚本保存,并在脚本编辑器中点击"Reload Script"按钮以加载你的脚本。
5)执行你的自动化脚本,Fiddler会根据你的脚本逻辑自动执行一系列操作。
以下是一个简单的FiddlerScript示例,用于自动修改请求的URL:
// 自动修改请求URL
static function OnBeforeRequest(oSession: Session) {
// 判断请求URL是否满足条件
if (oSession.url.Contains("example.com")) {
// 修改请求URL
oSession.url = oSession.url.Replace("example.com", "new-example.com");
}
}
该示例中,通过在OnBeforeRequest函数中判断请求URL是否包含"example.com",然后使用Replace方法将URL中的"example.com"替换为"new-example.com"。
8.Charles介绍
下载官网:https://www.charlesproxy.com
Charles是一款功能强大的网络调试和代理工具,主要用于捕获、分析和修改网络流量。以下是Charles的一些主要功能:
1)功能全面:Charles支持HTTP和HTTPS协议,可以捕获和查看浏览器和服务器之间的所有请求和响应。它能够显示请求和响应的详细信息,包括头部、正文、Cookie、缓存等。
2)代理设置:Charles可以作为网络代理,用于拦截和修改网络请求。你可以将Charles设置为系统代理或者只针对特定的应用设置代理,从而捕获和修改该应用的网络流量。
3)SSL代理:Charles支持HTTPS流量的解密和查看。你可以配置Charles为中间人代理,将安全证书安装到设备上,这样它就能够解密和查看HTTPS请求和响应的明文内容。
4)重发请求:Charles允许你重新发送已捕获的请求,方便进行接口测试和调试。你可以在Charles中编辑请求的头部、正文等信息,然后重新发送请求,从而修改请求的参数和数据。
5)模拟延迟和弱网环境:Charles可以模拟网络延迟和不稳定的网络连接,可以模拟3G、4G、Wi-Fi等各种网络环境,以便进行弱网测试和性能分析。
6)映射和重写规则:Charles允许你设置映射和重写规则,以便将请求重定向到其他URL或修改请求和响应的内容。这对于测试和调试动态网页、API请求等非常有用。
7)抓包过滤:Charles支持根据请求或响应的URL、域名、关键字等进行过滤,以便只查看特定的请求和响应,方便你关注重点。
9.Charles常用功能按钮介绍
1)Start/Stop Recording: 这个按钮用于开始和停止Charles的记录功能。当点击开始录制时,Charles会开始捕获和记录网络流量。
2)Clear Recording: 这个按钮用于清除Charles的记录,将已捕获的请求和响应清空。
3)Enable/Disable Breakpoints: 这个按钮用于启用或禁用断点功能。当断点功能启用时,Charles会暂停捕获和记录流量,直到手动点击或编辑断点。
4)Edit Breakpoints: 这个按钮用于编辑断点。你可以添加、修改或删除断点,以便在特定的请求或响应中暂停捕获和记录流量。
5)Map Remote: 这个按钮用于设置远程映射。你可以将远程服务器的URL映射到本地的文件或目录上,方便进行本地开发和调试。
6)Rewrite: 这个按钮用于设置URL重写规则。你可以修改请求的URL,将其重定向到其他URL或修改请求的参数。
7)Simulate Network Conditions: 这个按钮用于模拟网络条件。你可以选择不同的网络环境,如3G、4G、Wi-Fi,或者模拟延迟和丢包等网络问题。
8)SSL Proxying: 这个按钮用于设置SSL代理。你可以配置Charles作为中间人代理,从而解密和查看HTTPS请求和响应的明文内容。
10.Charles如何抓取HTTP和HTTPS
1)首先,确保Charles已经安装并启动。
2)对于HTTP流量,Charles默认情况下会自动捕获和显示请求和响应。只需确保你的设备或应用程序已经配置使用Charles代理。
3)对于HTTPS流量,需要在设备或应用程序上安装Charles的证书。在Charles菜单栏中选择“Help” -> “SSL Proxying” -> “Install Charles Root Certificate”来安装证书。
4)安装完成后,启用Charles的SSL代理功能。在Charles菜单栏中选择“Proxy” -> “SSL Proxying Settings”,并添加需要代理的主机和端口。
5)在设备或应用程序上配置代理。对于iOS设备,在系统设置中找到“Wi-Fi”,选择当前连接的网络,进入高级设置,并配置HTTP代理为Charles的IP地址和端口。对于Android设备,进入“设置”,选择“Wi-Fi”,找到当前连接的网络,进入“修改网络”,并在高级选项中配置代理。
6)确保Charles的SSL代理功能已经启用,并且设备或应用程序正在使用Charles的代理配置。
7)刷新Charles的会话,你将看到捕获到的HTTP和HTTPS流量。
11.Charles如何捕获手机的网络流量
1)确保你的手机和电脑都连接在同一个网络中。
2)在手机上打开设置,找到Wi-Fi选项,并点击进入您当前连接的Wi-Fi网络设置。
3)在Wi-Fi网络设置中,找到代理选项,并选择手动配置代理。
4)在代理选项中,输入您电脑的IP地址和Charles的代理端口号。您可以在Charles中找到代理端口号,通常默认为8888。
5)保存设置,并在手机上打开浏览器或要抓取流量的应用程序。
6)在电脑上打开Charles软件,您应该可以看到手机上的HTTP和HTTPS请求和响应。
12.Charles如何进行弱网调试
1)打开Charles软件,并确保已成功配置代理。
2)在Charles主界面的工具栏上,找到“Proxy”选项,并选择“Throttle Settings”。
3)在弹出窗口中,您可以设置延迟、带宽和丢包率来模拟弱网环境。您可以选择全局设置,即对所有请求都应用相同的模拟条件,或者根据需要为特定的域名或URL设置条件。
4)设置完模拟条件后,点击“OK”保存设置。
5)确保您的设备通过Charles代理进行网络连接。如果您是在手机上进行测试,按照之前提到的方法将手机设置为使用Charles代理。
6)启动应用程序或访问网站,您应该能够在Charles中看到模拟的弱网效果。
注意事项:
Charles只能模拟网络延迟、带宽限制和丢包率等条件,对于其他类型的弱网测试(如网络不稳定或信号弱等),你可能需要使用其他工具或进行物理环境搭建。