wireshark与fiddler对比 on mac

0. 前言

      通用的抓包工具选择不多,几年前就已经形成稳定局面,如今也不再有新产品/新特性出现。故本文从可用性上对比wireshark和fiddler,前者是目前全世界最广泛的网络封包分析软件之一,免费且开源,后者是是一个http协议调试代理工具,典型功能:移动端抓包和断点调试。

logo

1. 安装

      fiddler在Mac上的安装需要不止一步,通过命令行启动;依赖mono,“Fiddler是使用C# 编写的http抓包工具,Mac OS系统使用.Net编译后的程序,需要安装Mono”;在Mac上的启动命令为:sudo mono --arch=32 Fiddler.exe;安装教程很多;

      wireshark在Mac上的安装就是dmg包,直接下载并安装即可;

2. 界面

      fiddler在Mac上的界面比较原始,卡顿不流畅,每进来一个请求会刷新列表,频率过高“很闪”;

      wireshark在Mac上的界面非常友好;

3. 过滤器

      fiddler的过滤器大多以多选按钮的形式展现,灵活性低可选项有限;

      wireshark的过滤器就很清晰了,表达式的形式,有自动补全;

4. 断点

      fiddle用法参考:https://blog.csdn.net/wanglin_lin/article/details/78001506

      修改请求与相应内容;

5. 移动端抓包

      fiddler是比较好的选择,只要运行fiddler的机器和移动设备在一个局域网,配置代理并下载证书(用于抓HTTPS包);一般要开启HTTPS、过滤出来自移动端的事务,前者参考:https://blog.csdn.net/idlear/article/details/50999490,后者参考:https://blog.csdn.net/yu1014745867/article/details/73222032

      wireshark需要移动设备使用运行wireshark的机器的热点,这种要求有时无法满足;

6. 本机抓包

      wireshark是比较好的选择,从各方面来讲,都比较舒服。

### Wireshark Fiddler 的功能对比及适用场景分析 #### 功能对比 1. **协议支持范围** Wireshark 是一款通用的网络协议分析器,能够捕获并分析所有经过网络接口的数据包,包括但不限于 HTTP、HTTPS、TCP、UDP 等协议[^2]。它提供了对低级网络协议的强大支持,适用于深度网络流量分析。相比之下,Fiddler 主要专注于 HTTP 和 HTTPS 协议的流量捕获和分析,适合 Web 开发和 API 调试[^3]。 2. **用户界面友好度** Fiddler 提供了直观的图形界面,易于上手,特别适合开发人员进行 Web 应用调试和 API 测试[^3]。而 Wireshark 的界面相对复杂,需要用户具备一定的网络知识才能高效使用其功能[^2]。 3. **数据包分析能力** Wireshark 提供了丰富的数据包分析功能,包括过滤、统计、协议解析等,使得用户能够深入了解网络流量的细节[^2]。Fiddler 则更侧重于简化 HTTP/HTTPS 请求的捕获和修改过程,支持规则定义和脚本扩展,便于快速定位问题[^3]。 4. **HTTPS 解密支持** 两款工具均支持 HTTPS 流量的解密,但实现方式有所不同。Wireshark 需要通过配置 SSLKEYLOGFILE 来支持 HTTPS 解密[^4],而 Fiddler 内置了中间人代理功能,可以自动拦截并解密 HTTPS 流量。 #### 适用场景分析 1. **Wireshark 的适用场景** - 深度网络故障排查:Wireshark 能够捕获并分析底层网络协议,帮助网络工程师诊断复杂的网络问题。 - 性能分析:通过统计和过滤功能,Wireshark 可以评估网络性能,识别瓶颈和异常流量。 - 安全审计:Wireshark 在安全审计中发挥重要作用,能够检测潜在的安全威胁和攻击行为。 2. **Fiddler 的适用场景** - Web 开发调试:Fiddler 提供了便捷的 HTTP/HTTPS 流量捕获和修改功能,适合开发人员进行 API 测试和调试。 - 移动应用测试:通过配置代理,Fiddler 可以捕获移动设备上的网络请求,帮助开发者分析 APP 的网络行为。 - 团队协作:Fiddler 支持规则和脚本扩展,便于团队成员共享和复用抓包规则[^3]。 #### 示例代码:如何在 Fiddler 中捕获 HTTPS 流量 以下是一个简单的示例,展示如何在 Fiddler 中启用 HTTPS 解密功能: ```csharp // 在 Fiddler 的 CustomRules.js 文件中添加以下代码 static function OnBeforeRequest(oSession: Session) { if (oSession.HostnameIs("example.com")) { oSession.bypassGateway = true; // 跳过网关 } } ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值