`
tomoya
  • 浏览: 1867 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

「能说工具」系列之抓包神器-Fiddler

阅读更多

 

Fiddler

工欲善其事,必先利其器。 ——子曰。
接下来的一段时间,我会介绍一些平时使用的工具,主要还是日常程序开发中的工具,感兴趣的同学可以关注下我的微信订阅号 能叔,为感。

网络抓包对于探究神秘互联网世界的真相是必不可少的技能,工具有很多,最有名的要算 wireshark¹,这工具功能确实强大,但学习成本相对也较高,有兴趣的可以买本《wireshark网络分析就这么简单》自己慢慢研究。当然也有简单的,比如 Smsniff²,强烈推荐没啥基础且不想投入时间的朋友用。

以上两个软件我都不介绍,这里我主要想讲下 Fiddler³,介于前面两者之间,味道刚刚好。

Fiddler允许你监视,设置断点,甚至修改输入输出数据,你越使用它就会离网络世界的真相更进一步,你越了解它就越会爱上他,可谓开发工程师、测试工程师、网络工程师居家旅行必备之工具。

其实很多内容在官网的 Fiddler Doc 上都有很详细的介绍了,可能有些人英文不好(我也是),我从实用的角度捡几个重要的点简要说下。另外英文实在不认识你的话,就下载 Fiddler2中文手册 吧!


1、原理介绍

Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,默认端口:8888。

Fiddler-1

举个栗子,比如访问 www.qq.com

Fiddler-2

当然你看着8888端口不舒服(强迫症),想改也是可以的。

Fiddler-3

2、基本界面

Fiddler2的UI功能介绍我就不一一罗列了,大伙自己打开来看看就知道了,这里就上一张整体图,有个感性的认识就好了!
Fiddler-0

3、捕获浏览器会话

能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。 Fiddler2启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的。

  • chrome设置
    建议下载个proxy SwitchySharp的插件,代理设置、过滤、切换都非常的方便!
  • firefox设置
    点击: 「工具」 -> 「选项」, 在「选项」对话框上点击 「高级」 tab -> 「网络」 tab -> 「设置」.

这些设置都很简单,就不上图占用大家流量了(毕竟运营商喊了半天的“提速降费”,但流量还是挺贵的),其它什么360安全浏览器,什么XX浏览器,我就不一一讲了,大同小异。

4、捕获JAVA应用

这里不管你是Eclipse开发也好, intellij idea也罢,甚至有人还在使用Jbuilder我也忍了,设置都是一样,有两种方式:

1、启动配置应用的JVM环境

jre -DproxySet=true -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888
或者
jre -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 MyApp

2、代码设置JVM代理设置

System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort", "8888");
System.setProperty("https.proxyPort", "8888");

但是如果你程序中使用 Apache HttpClient 来发送请求的话,我不得不遗憾的告诉你,上述两种方式都没用,你必须在HttpClient上做代理设置,形如:

RequestConfig.custom().setProxy("127.0.0.1","8888").build();

5、捕获HTTPS

真的很简单,打开工具栏->Tools->Fiddler Options->HTTPS
Fiddler-4

如果你想知道原理,可参考 浅谈HTTPS以及Fiddler抓取HTTPS协议 ,反正我是不求甚解。

6、手机上抓包

要在手机上抓包的前提是: 要抓包的手机和安装Fiddler的电脑在同一个局域网上。 接下来就简单了,三步走:

  1. 配置Fiddler, 允许"远程连接" 
    Tools-> Fiddler Options 。(配置完后记得要重启Fiddler)。 
    选中"Allow remote computers to connect",是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来 。
    Fiddler-8

  2. 给手机安装Fiddler证书
    使用手机浏览器访问http://【电脑IP地址】:【fiddler设置的端口号】,既可以下载fiddler的证书并安装。啥?电脑IP怎么看?把电脑反过来,底部右下角就能看到,如果还是看不到,请用橡皮擦一下。

  3. 给手机设置代理
    打开HTTP代理, 输入Fiddler所在机器的IP地址(比如:192.168.1.104) 以及Fiddler的端口号8888。

7、操作会话

  • 查找会话
    有些时候,会话列表中一堆的会话,眼睛都要看瞎了的时候,它就派上用场了,用快捷键Ctrl+F打开Find Sessions对话框,输入关键字查询会话,查询到的会话会用黄色显示(当然你也可以配置换个颜色)。
  • 过滤会话 这个其实和查找会话类似,就是个加强版的“查找会话”,只不过可以选项更多。在任务面板的Filters tab中,里面有很多选项, 可以自己研究下,大概就知道怎么了。
  • 比较会话
    有些时候,我们想比较下两个会话的区别,选中2个会话,右键然后点击Compare,就可以用WinDiff来比较两个会话的不同了(当然需要你安装WinDiff)。
  • 保存会话
    有些时,候我们需要把会话保存下来,以便发给别人或者以后去分析。那么选择你想保存的会话,然后点击File->Save->Selected Sessions,搞定。

8、断点修改request、response

这属于高级技能,本期略,有时间再续。

9、快速命令行QuickExec

这属于高级技能,本期略,有时间再续。

10、其它小cookie

  • 有用的“十”字架
    绝对的傻瓜操作,比如你想抓指定的程序的包,比如只想抓“印象笔记”,那就点击按住“十”字架,然后拖到印象笔记的窗口放开就可以了。它能指定进程进行抓包,指哪打哪,排除不必要的干扰。
    Fiddler-7

  • 编码小工具
    点击Fiddler2工具栏上的TextWizard,这个工具可以Encode和Decode string,妈妈再也不用担心我的编码了。
    Fiddler-5

  • Composer作曲家
    这玩意和 Postman⁴ 一样,可以来模拟你的http请求,你可以自己构建一个美妙的曲子。
    Fiddler-6


附录


欢迎关注我的个人微信公众号:能叔

能叔

分享到:
评论

相关推荐

    抓包神器 fiddler

    **抓包神器Fiddler详解** Fiddler是一款强大的网络封包分析工具,它能够捕获HTTP/HTTPS协议的网络流量,帮助开发者、测试人员以及网络安全专家深入理解应用程序的网络行为。这款工具不仅可以用于调试Web应用程序,...

    抓包神器fiddler

    **Fiddler——网络调试与抓包神器** Fiddler是一款强大的网络调试工具,由Telerik公司开发,广泛应用于API调试、网页性能分析以及网络问题排查。它能够捕获HTTP和HTTPS流量,帮助开发者和测试人员深入理解网络交互...

    IE 抓包工具 Fiddler2

    **Fiddler2:强大的IE抓包神器** 在IT行业中,网络数据的分析与调试是一项不可或缺的任务,而Fiddler2就是这样的一个利器。作为一款专为IE浏览器设计的抓包工具,它不仅可以用于IE,还能支持其他浏览器,如Chrome、...

    靠谱软件测试工程师必备抓包神器Fiddler教程

    ### 靠谱软件测试工程师必备抓包神器Fiddler教程 #### 一、Fiddler简介 **Fiddler**是一款强大且易用的Web调试工具,它可以帮助软件测试工程师记录并监视客户端与服务器之间的HTTP及HTTPS请求,提供了一个灵活的...

    Fiddler Everywhere 抓包工具是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存

    Fiddler Everywhere是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作 可以简单理解 fiddler everywhere = fiddler + postman, 这里划一个重点:代理,我们之前学习代理...

    2021年最新版游戏抓包神器Fiddler Everywhere 1.5.x

    2021年最新版游戏抓包神器Fiddler Everywhere 1.5.x

    Fiddler抓包神器安装包

    小提琴)是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动,Fiddler可以也可以让你检查所有的HTTP通讯,设置断点,以及Fiddle所有的“进出”的数据(我一般用来抓包),Fiddler还包含一个简单...

    FIDDLER网络抓包神器使用手册

    ### FIDDLER网络抓包神器使用手册 #### 一、Fiddler概述 Fiddler是一款非常实用的网络抓包工具,适用于Windows操作系统。它能够帮助用户截获、查看并操控HTTP(S)流量,这对于调试web应用和分析网络通信来说至关...

    网络抓包工具Fiddler5.0.2.zip

    Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)网络抓包数据解析,安全测试必备神器!

    FatbeansV1.0.5:TCP抓包改包与调试的瑞士军刀,融合了Wireshark、Fiddler、WPE

    Fatbeans在功能设计上,博采众长,融合了Wireshark的抓包能力、Fiddler的友好性以及WPE的封包拦截与修改能力,同时吸纳了网友们对这类软件宝贵的建议与诉求,希望Fatbeans能成为您网络调试的得力助手。

    Fiddler Everywhere 1.0.0.exe

    抓包神器

    Fiddler5020182.zip

    首先,Fiddler的核心在于其抓包能力。它可以捕获并显示所有通过计算机的HTTP和HTTPS流量,包括浏览器、手机、平板电脑等设备产生的网络请求。这对于我们跟踪网页加载过程、查看请求头、响应头以及数据体内容非常有...

    推荐一些socket工具,TCP、UDP调试、抓包工具

    推荐一些socket工具,TCP、UDP调试、抓包工具.还记得我在很久很久以前和大家推荐的Fiddler和Charlesdebugger么?他们都是HTTP的神器级调试工具,非常非常的好用。好工具能让你事半功倍,基本上,我是属于彻头彻尾的...

    charles抓包工具

    Charles是一款很实用,界面很友好(至少跟fiddler比起来),功能强大的抓包神器,因为它是基于 java 开发的,所以跨平台,Mac、Linux、Windows下都是可以使用的,并且在Android和iOS设备上通用。它的原理是通过成为...

    实用抓包工具

    一款非常实用的抓包工具,支持手机和PC端,测试开发必备神器

    Fiddler_5.0.20182.28034.exe

    《Fiddler_5.0.20182.28034.exe:一款高效实用的抓包神器》 在IT行业中,网络调试是不可或缺的重要环节,而抓包工具则是开发者和网络技术人员的得力助手。Fiddler,这款名为"Fiddler_5.0.20182.28034.exe"的软件,...

    fiddler4_4.6.1.5.zip

    总的来说,Fiddler4作为一款强大的网络调试工具,不仅适用于开发者解决网络通信问题,也是测试人员进行功能验证和性能评估的重要助手。通过熟练掌握Fiddler4,可以极大地提升工作效率,为软件开发和测试工作带来便利...

    Fiddlerv5.0.20204.45441汉化版.zip

    《Fiddler v5.0.20204.45441汉化版...无论是前端开发、后端接口调试还是移动应用测试,它都能提供极大的便利,是IT从业者不可或缺的工具之一。通过熟练掌握Fiddler,开发者可以更高效地定位和解决问题,提升开发效率。

    fiddler5.0安装包

    总的来说,fiddler5.0作为一个强大且灵活的网络调试工具,无论是对于前端开发者还是后端工程师,甚至是安全专家,都能提供极大的帮助。正确安装和熟练使用fiddler5.0,无疑将提升开发和调试的效率,让工作更加...

    Fiddler.rar

    Fiddler是位于客户端和服务器端之间的代理,也是目前最常用的抓包工具之一 。它能够记录客户端和服务器之间的所有 请求,可以针对特定的请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改...

Global site tag (gtag.js) - Google Analytics