一直以来都是在Windows底下工作,对于抓包工具,自然而然当属Fiddler最最出色。不过Fiddler是在.Net runtime环境下运行的,所以想要在Mac下使用,有些困难。

在试过了Charles、Rythem、TinyProxy和NProxy这些抓包工具后,我依然苦恼,它们有的需要支付昂贵的费用,有的只支持本机网页请求代理,而有些界面只有文本模式,这让我无法适从。

直到去年10月份(2016年10月),Telerik官网上悄然地放上了Fiddler的OSX版,这让我欣喜若狂,赶紧来尝试。

环境安装

Mono安装

首先,Mac下需要使用.Net编译后的程序,需要用到跨平台的方案Mono(现阶段微软已推出跨平台的方案.Net Core,不过暂时只支持控制台程序)。安装程序可以从http://www.mono-project.com/download/#download-mac地址下载。

安装完后,在Terminal里执行以下命令:

1
/Library/Frameworks/Mono.framework/Versions/<mono version>/bin/mozroots --import --sync

此步是为了从Mozilla LXR上下载所有受信任的root证书,存于Mono的证书库里。root证书能用于请求https地址。

接下来如果想要运行Fiddler,还需要把Mono加入到环境变量中。编辑.bash_profile文件:

1
sudo vi ~/.bash_profile

加入文本:

1
2
export MONO_HOME=/Library/Frameworks/Mono.framework/Versions/5.0.1
export PATH=$PATH:$MONO_HOME/bin

保存后重新打开Terminal,Mono环境已装好。

Fiddler的安装

从Fiddler官网https://www.telerik.com/download/fiddler下载fiddler-mac.zip的压缩包。解压到非中文字符的路径下。

Fiddler运行

打开Terminal,进入到刚才解压的Fiddler路径,执行命令运行:

1
sudo mono Fiddler.exe

是不是跟Windows下的界面一样好看?

 

如果启动fiddler:sudo mono Fiddler.exe 报错

WARNING: The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all
Stacktrace:at <unknown> <0xffffffff>at (wrapper managed-to-native) System.Windows.Forms.XplatUICarbon.CGDisplayBounds (intptr) [0x00002] in <36fbc38531724d82b10aef6ebafea6e9>:0at System.Windows.Forms.XplatUICarbon.get_WorkingArea () [0x00005] in <36fbc38531724d82b10aef6ebafea6e9>:0at System.Windows.Forms.XplatUICarbon.get_VirtualScreen () [0x00000] in <36fbc38531724d82b10aef6ebafea6e9>:0at System.Windows.Forms.XplatUI.get_VirtualScreen () [0x00000] in <36fbc38531724d82b10aef6ebafea6e9>:0at System.Windows.Forms.Screen..cctor () [0x00034] in <36fbc38531724d82b10aef6ebafea6e9>:0at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) [0x0001e] in <4fdc5ed61a074cafb49fa42deb20d521>:0at <unknown> <0xffffffff>at System.Windows.Forms.Form.get_CreateParams () [0x00157] in <36fbc38531724d82b10aef6ebafea6e9>:0at System.Windows.Forms.Control.CreateHandle () [0x0002a] in <36fbc38531724d82b10aef6ebafea6e9>:0at System.Windows.Forms.Form.CreateHandle () [0x00000] in <36fbc38531724d82b10aef6ebafea6e9>:0at System.Windows.Forms.Control.CreateControl () [0x00039] in <36fbc38531724d82b10aef6ebafea6e9>:0at System.Windows.Forms.Control.SetVisibleCore (bool) [0x0003a] in <36fbc38531724d82b10aef6ebafea6e9>:0at System.Windows.Forms.Form.SetVisibleCore (bool) [0x00065] in <36fbc38531724d82b10aef6ebafea6e9>:0at System.Windows.Forms.Control.set_Visible (bool) [0x00009] in <36fbc38531724d82b10aef6ebafea6e9>:0at System.Windows.Forms.Control.Show () [0x00000] in <36fbc38531724d82b10aef6ebafea6e9>:0at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control.Show () [0x00031] in <36fbc38531724d82b10aef6ebafea6e9>:0at Fiddler.frmViewer. (string[]) [0x00081] in <09623c708fdb40a483cea147bbea7a7f>:0at Fiddler.frmViewer. (string[]) [0x00016] in <09623c708fdb40a483cea147bbea7a7f>:0at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x0004e] in <09623c708fdb40a483cea147bbea7a7f>:0Native stacktrace:0   mono                                0x000000010a02c3d1 mono_handle_native_crash + 2571   mono                                0x000000010a093e86 altstack_handle_and_restore + 702   SkyLight                            0x00007fffaabd4fc2 SLDisplayBounds + 503   ???                                 0x00000001117e038e 0x0 + 45884384144   ???                                 0x000000010a62d486 0x0 + 44692163905   mono                                0x0000000109f865f4 mono_jit_runtime_invoke + 13166   mono                                0x000000010a17e238 do_runtime_invoke + 887   mono                                0x000000010a17a2a4 mono_runtime_class_init_full + 9968   mono                                0x0000000109f7fa45 mono_jit_compile_method_inner + 24859   mono                                0x0000000109f82903 mono_jit_compile_method_with_opt + 137910  mono                                0x000000010a02e871 common_call_trampoline + 121711  mono                                0x000000010a02e379 mono_magic_trampoline + 7312  ???                                 0x000000010a41839e 0x0 + 446703299013  ???                                 0x000000011148b81b 0x0 + 458494569114  ???                                 0x000000010d8a384f 0x0 + 452212948715  ???                                 0x000000010d8a34c7 0x0 + 452212858316  ???                                 0x000000010a62d043 0x0 + 446921529917  mono                                0x0000000109f865f4 mono_jit_runtime_invoke + 131618  mono                                0x000000010a17e238 do_runtime_invoke + 8819  mono                                0x000000010a181849 do_exec_main_checked + 13720  mono                                0x0000000109fef32f mono_jit_exec + 28721  mono                                0x0000000109ff1b63 mono_main + 923522  mono                                0x0000000109f763ad main + 25323  mono                                0x0000000109f762a4 start + 52Debug info from gdb:(lldb) command source -s 0 '/tmp/mono-gdb-commands.Cli6iM'
Executing commands in '/tmp/mono-gdb-commands.Cli6iM'.
(lldb) process attach --pid 1326
warning: (x86_64) /Library/Frameworks/Mono.framework/Versions/5.4.1/lib/mono/4.5/mscorlib.dll.dylib empty dSYM file detected, dSYM was created with an executable with no debug info.
warning: (x86_64)
.
.
.
.
.
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================Process 1326 detached
(lldb) quit
[1]    1326 abort      mono Fiddler.exe

解決方案:切换32bit-mono启动fiddler

sudo mono --arch=32 Fiddler.exe

转载于:https://www.cnblogs.com/liugp/p/10372089.html

Mac下也能用抓包工具Fiddler相关推荐

  1. 安利一个Mac下好用的抓包工具-Charles

    Charles:让天底下没有难抓的包. 前言 今天给大家推荐一个我所使用过的抓包工具中最好用的抓包工具-Charles(音译:查尔斯),它可以抓各端发起的网络请求,我主要用来抓移动设备上的请求,上次小 ...

  2. mac下HTTP与HTTPS抓包

    mac下HTTP与HTTPS抓包 HTTP抓包流程 1. 在mac 电脑 上下载代理软件,charlse或者fiddler均可以: 下载方法:http://www.charlesproxy.com/可 ...

  3. 抓包工具Fiddler的使用教程(十二)下:Fiddler抓取HTTPS

    在教程十二(上),我们也了解了HTTPS协议,该教程就和大家分享Fiddler如何抓取HTTPS 抓包工具Fiddler的使用教程(十二):[转载]HTTPS协议 再次回忆一下关键内容: iddler ...

  4. api 数据 App 抓包工具 fiddler

    from   :  http://www.heyuan110.com/2015/06/17/App抓包工具fiddler/ App抓包工具fiddler Charles fiddler 抓包 确保安装 ...

  5. 抓包工具 - Fiddler(详细介绍)

    原文:抓包工具 - Fiddler(详细介绍) Fiddler的详细介绍 一.Fiddler与其他抓包工具的区别 1.Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大.模拟ht ...

  6. 功能测试与抓包工具Fiddler(http与fiddler)

    文章目录 功能测试与数据库 项目与数据库的关系 功能测试与抓包工具 HTML与HTTP 协议 URL HTML HTTP HTTP请求与响应 基本概念 HTTP请求 HTTP响应 抓包工具 Fiddl ...

  7. 抓包工具Fiddler抓取手机包和修改接口数据

    抓包工具Fiddler抓取手机包和修改接口数据 安装成功界面 点击Tools->Options 弹出该页面 Allow remote-勾选上,意思为允许远程计算机连接,端口随意设置(默认8888 ...

  8. 【爬虫】网页抓包工具--Fiddler

    [爬虫]网页抓包工具--Fiddler Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888, ...

  9. 抓包工具Fiddler的使用

    Fiddler 教程 Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发 ...

最新文章

  1. redis trie
  2. 如何导入nod32企业版的授权文件.lic,并制作镜像服务器?
  3. QEMU — 编译安装指定的版本
  4. 彩色图像--色彩空间 YIQ 、YUV 、YCbCr 、YC1C2 和I1I2I3
  5. hdoj1087 (DP--LIS)
  6. sql trim()函数去掉两头空格
  7. 理解图像傅里叶变换的频谱图
  8. grafana 迁移
  9. Transaction And Lock--已提交读快照
  10. js正则及常用方法函数总结
  11. Android类参考---Fragment(二)
  12. 十进制转换成二进制java_计算机为什么采用二进制?
  13. 什么是webpack? ----(webpack入门)
  14. 计算机声音控制程序,怎么管理电脑各程序的音量-单独调节各个程序音量的方法 - 河东软件园...
  15. DCMP2.0项目总结_页面
  16. (素材源码)猫猫学IOS(十九)UI之QQ好友列表
  17. 小米路由器 mini 重新刷回官方固件
  18. java红牛农场,在新加坡的,完一朋友一个夜班喝5瓶红牛。 下班坐地
  19. C语言中abs()函数和fabs()函数以及fabsf()函数的区别
  20. 什么是UN38.3认证_UN38.3测试标准

热门文章

  1. 空中升级(OTA)变色龙 MINI 的方法
  2. 常使用电脑的人可使用的护眼软件
  3. 【网络】https协议
  4. SMS基本概念和移动通信系统介绍(转)
  5. 学习k8s必看:在下载相关资源的时候出现无法解析到主机地址的情况
  6. jenkins如何配置QQ邮箱,做预警
  7. 投影矩阵之z坐标推导
  8. 图的割点、桥与双连通分支的基本概念
  9. H5里面背景图片的设置
  10. 面试官:关于数据库MySQL说说你的理解吧