Mac下也能用抓包工具Fiddler
一直以来都是在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>:0
at System.Windows.Forms.XplatUICarbon.get_WorkingArea () [0x00005] in <36fbc38531724d82b10aef6ebafea6e9>:0
at System.Windows.Forms.XplatUICarbon.get_VirtualScreen () [0x00000] in <36fbc38531724d82b10aef6ebafea6e9>:0
at System.Windows.Forms.XplatUI.get_VirtualScreen () [0x00000] in <36fbc38531724d82b10aef6ebafea6e9>:0
at System.Windows.Forms.Screen..cctor () [0x00034] in <36fbc38531724d82b10aef6ebafea6e9>:0
at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) [0x0001e] in <4fdc5ed61a074cafb49fa42deb20d521>:0
at <unknown> <0xffffffff>
at System.Windows.Forms.Form.get_CreateParams () [0x00157] in <36fbc38531724d82b10aef6ebafea6e9>:0
at System.Windows.Forms.Control.CreateHandle () [0x0002a] in <36fbc38531724d82b10aef6ebafea6e9>:0
at System.Windows.Forms.Form.CreateHandle () [0x00000] in <36fbc38531724d82b10aef6ebafea6e9>:0
at System.Windows.Forms.Control.CreateControl () [0x00039] in <36fbc38531724d82b10aef6ebafea6e9>:0
at System.Windows.Forms.Control.SetVisibleCore (bool) [0x0003a] in <36fbc38531724d82b10aef6ebafea6e9>:0
at System.Windows.Forms.Form.SetVisibleCore (bool) [0x00065] in <36fbc38531724d82b10aef6ebafea6e9>:0
at System.Windows.Forms.Control.set_Visible (bool) [0x00009] in <36fbc38531724d82b10aef6ebafea6e9>:0
at System.Windows.Forms.Control.Show () [0x00000] in <36fbc38531724d82b10aef6ebafea6e9>:0
at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control.Show () [0x00031] in <36fbc38531724d82b10aef6ebafea6e9>:0
at Fiddler.frmViewer. (string[]) [0x00081] in <09623c708fdb40a483cea147bbea7a7f>:0
at Fiddler.frmViewer. (string[]) [0x00016] in <09623c708fdb40a483cea147bbea7a7f>:0
at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x0004e] in <09623c708fdb40a483cea147bbea7a7f>:0 Native stacktrace: 0 mono 0x000000010a02c3d1 mono_handle_native_crash + 257
1 mono 0x000000010a093e86 altstack_handle_and_restore + 70
2 SkyLight 0x00007fffaabd4fc2 SLDisplayBounds + 50
3 ??? 0x00000001117e038e 0x0 + 4588438414
4 ??? 0x000000010a62d486 0x0 + 4469216390
5 mono 0x0000000109f865f4 mono_jit_runtime_invoke + 1316
6 mono 0x000000010a17e238 do_runtime_invoke + 88
7 mono 0x000000010a17a2a4 mono_runtime_class_init_full + 996
8 mono 0x0000000109f7fa45 mono_jit_compile_method_inner + 2485
9 mono 0x0000000109f82903 mono_jit_compile_method_with_opt + 1379
10 mono 0x000000010a02e871 common_call_trampoline + 1217
11 mono 0x000000010a02e379 mono_magic_trampoline + 73
12 ??? 0x000000010a41839e 0x0 + 4467032990
13 ??? 0x000000011148b81b 0x0 + 4584945691
14 ??? 0x000000010d8a384f 0x0 + 4522129487
15 ??? 0x000000010d8a34c7 0x0 + 4522128583
16 ??? 0x000000010a62d043 0x0 + 4469215299
17 mono 0x0000000109f865f4 mono_jit_runtime_invoke + 1316
18 mono 0x000000010a17e238 do_runtime_invoke + 88
19 mono 0x000000010a181849 do_exec_main_checked + 137
20 mono 0x0000000109fef32f mono_jit_exec + 287
21 mono 0x0000000109ff1b63 mono_main + 9235
22 mono 0x0000000109f763ad main + 253
23 mono 0x0000000109f762a4 start + 52 Debug 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
Mac下也能用抓包工具Fiddler的更多相关文章
- 【转】抓包工具Fiddler的使用教程(十二)下:Fiddler抓取HTTPS
在教程十二(上),我们也了解了HTTPS协议,该教程就和大家分享Fiddler如何抓取HTTPS 抓包工具Fiddler的使用教程(十二):[转载]HTTPS协议 再次回忆一下关键内容: iddler ...
- 抓包工具Fiddler的使用
Fiddler 教程 Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发 ...
- 和我一起学习爬虫之HTTP/HTTPS抓包工具--Fiddler
HTTP/HTTPS抓包工具--Fiddler Fiddler[ˈfɪdlə(r)] 1. HTTP代理神器Fiddler Fiddler是一款强大Web调试工具,它能记录所有客户端和服务器的HTTP ...
- 抓包工具 Fiddler 使用:弱网络环境模拟限速测试流程
转自:http://www.51testing.com/html/80/n-3726980.html 抓包工具 Fiddler 使用:弱网络环境模拟限速测试流程 发表于:2018-6-06 11: ...
- 移动端抓包工具——Fiddler(一)
web端抓包一般利用浏览器自带的检查功能(F12),然后看Network项,根据请求响应判断出问题 移动端怎么抓包呢,这里介绍一款常用的抓包工具——Fiddler 前提: 1.必须确保安装fiddl ...
- 抓包工具fiddler下载配置(一):下载/安装&信任证书
简介 Fiddler一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件 ...
- 网络抓包工具 Fiddler
网络抓包工具 Fiddler 下载网址 http://www.telerik.com/fiddler 简单介绍 Fiddler是一个http协议调试代理工具,它能够记录并检查全部你的电脑和互联网之间的 ...
- 爬虫(二):抓包工具Fiddler
1. 抓包工具Fiddler 1.1 Fiddler下载与安装 最简单的方法,打开百度,搜索fiddler下载. 下载完毕解压即可,此版本为绿色版. 点击这个即可运行抓包软件. 1.2 Fiddler ...
- 抓包工具fiddler下载配置(三):手机设置代理
前言 本篇仅讲解了手机端如何设置代理,是[抓包工具fiddler下载配置(一):下载/安装&信任证书]的后续文章,未下载安装抓包工具的需先参考文章[抓包工具fiddler下载配置(一):下 ...
随机推荐
- python基础:流程控制案例:
1,简述编译型与解释型的语言,且分别列出你知道的哪些语言属于编译型,哪些属于解释型. 答:简单理解编译型语言类似谷歌翻译,整篇读入整篇翻译,代表语言有C语言,解释型语言类似同 声传译,读入一行翻译 ...
- 5. First-Class Functions
Function in python are first-class objects (runtime / element / argument / return) 1. Treating a Fun ...
- 注意条件表达式规范[JLS 15.25]
/** * 猜猜输出结果是什么 */ public class appalet { public static void main(String[] args) { char x = 'x'; int ...
- PHP把数组按指定的个数分隔
PHP把数组按指定的个数分隔 假设数组为array(‘1’,‘2’,‘3’,‘4’,‘5’,‘6’); 想把它分割成四个,那么结果为array(‘0’ => [‘1’,‘2’],‘1’ => ...
- ASTC on Android
kGL_KHR_texture_compression_astc_ldr kWEBGL_compressed_texture_astc_ldr KHR_texture_compression_astc ...
- Vue学习日记(三)——Vue路由管理vue-router
前言 为了给读者更好的体验,去理解vue-router和下一篇介绍vuex,决定还是来一个实战教程来带大家更加的去深入理解vue-router,在这之前,读者先自行了解和去官网下载npm和node,附 ...
- 在laravel5.8中集成swoole组件----初步测试
铺垫 前提是先安装swoole组件,我采用从pecl-----php扩展组件网下载swoole扩展包,然后切入到解压缩的扩展包中运行phpize命令, phpize是一种编译命令,可以在安装文件中生成 ...
- Serializable(转)
最近在阅读JDK源码中的集合,看到很多集合类实现了Serializable接口,Cloneable接口.在阅读了很多关于Serializable接口的博客后,浅谈下我对Serializable接口的理 ...
- PHP mysqli_more_results() 函数
定义和用法 mysqli_more_results() 函数检查一个多查询是否有更多的结果. 语法 mysqli_more_results(connection); 参数 描述 connection ...
- Linux+CLion+树莓派远程编译时,Cmake编译出现undefined reference to 'dlopen'的解决办法
在Clion中链接讯飞的语音库并传至树莓派上编译时,出现如下错误. undefined reference to `dlopen' undefined reference to `dlclose' u ...