Fiddler:程序员必备的网络抓包调试工具
Fiddler:程序员必备的网络抓包调试工具
Fiddler是一个非常流行的网络抓包调试工具,也算是比较出名吧。其实说起抓包工具,很多人可能先想到的是wireshark这个经典工具。不过wireshark侧重于网络抓包,可以抓所有类型的数据包,并且解析包的内容。但是Fiddler主要是用来抓取HTTP包的,对HTTP包的内容有多种多样的显示方式。不过考虑到现在大多数时候都用HTTP,所以Fiddler也更加常用一些。
捕获网络流量
Fiddler利用代理来捕获流量,默认情况下它会在端口号8888开启代理,我们只需要通过这个代理用浏览器访问网页,即可在Fiddler中看到浏览器的流量。其他应用也是同理。另外,这个代理默认还是系统代理,因此支持系统代理的程序均可以通过Fiddler来捕获流量。
多种样式显示数据
截取到数据包以后,Fiddler就可以用各种形式来为我们展示这些数据了,TextView可以查看响应包的文本;SyntaxView可以用语法高亮的HTML形式来展示网络源代码;WebView可以简单的渲染HTML页面;JSON可以显示返回数据的JSON文本等等。
这些方便的形式对我们查看和调试HTTP数据包非常有帮助。
按进程过滤流量
第一次使用Fiddler的话,你可能会被大量数据包刷屏。因为默认情况下,经过系统代理的所有流量都会显示出来。其实真正调试的时候,往往只需要捕获一个浏览器窗口的流量。不过Fiddler也提供了按进程号过滤流量的功能,要捕获哪个程序,仅需轻轻一拖鼠标。
这个功能用起来非常简单,在工具栏上找到All Process这个图标,拖动它到要捕获的浏览器标签上即可。
解密HTTPS流量
HTTPS流量是加密的,默认情况下无法看到具体信息,不过Fiddler也提供了解密HTTPS流量的功能。这需要我们安装和信任Fiddler的根证书。当然Fiddler的根证书仅仅用于软件的抓包功能,但是这也提醒我们,不要随随便便安装不明来源的根证书,会导致严重的安全问题。
这个功能设置也很简单,在配置对话框中开启解密HTTPS功能即可。
对其他设备抓包
因为Fiddler是通过网络代理截取数据包的,所以如果局域网的其他设备使用当前电脑的Fiddler代理访问网络的话,Fiddler就可以捕获到这个设备的代理。
做一个简单总结,Fiddler是一个很好用的工具,如果你想抓一些HTTP包用来分析,那么它将会是你的的得力助手。