Fiddler(http抓包工具)

Fiddler(http抓包工具)

简介

  Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

  Fiddler是一个 HTTP 的调试代理,也就是一个 HTTP 协议的抓包工具,运行时会在本地建立一个代理服务,默认地址为 127.0.0.1:8888。当浏览器和被访问的服务之间发生交互的时候,Request(请求)和 Response(响应)都会经由 Fiddler 代理,这样就可以截获下全部的访问信息流了。

注意:Fiddler 既支持 Windows 操作系统,也支持 MacOS 操作系统,但是在 MacOs 上的版本并不好用,这是因为 Fiddler 使用了.Net 开发。如果你是一个 MacOS 深度用户,那么我推荐给你两款工具,一款是 Charles,另外一款是 mitmproxy。其中,Charles 是商业软件,mitmproxy 是开源软件,但是 Charles 使用起来更简单,mitmproxy 的使用则稍微复杂一些,你可以依据自己的喜好来选择。

下载

  • 下载地址:百度网盘链接:https://pan.baidu.com/s/1Qu2d6ASqR-7FZUrJY9W2fA
    提取码:oyx1
    官网下载:https://www.telerik.com/fiddler

使用简介:

  下面我们一起来使用 Fiddler,分析一下极客时间 Web 端首页(极客时间 Web 端首页地址 https://time.geekbang.org)。
在这里插入图片描述
为方便你查看,我将 Request 的消息体复制出来如下:


POST https://time.geekbang.org/serv/v1/column/topList HTTP/1.1
Host: time.geekbang.org
Connection: keep-alive
Content-Length: 0
Accept: application/json, text/plain, /
Origin: https://time.geekbang.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Referer: https://time.geekbang.org/
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: _ga=GA1.2.2063652238.1573441551; _gid=GA1.2.1275017383.1573441551; Hm_lvt_022f847c4e3acd44d4a2481d9187f1e6=1573441551; GRID=b0a2570-01c8b13-90b002b-568dc07; MEIQIA_TRACK_ID=1TS7HZW4C6OWaPSu5VGIj7uN4pM; MEIQIA_VISIT_ID=1TS7HWSYajeZyS29IqNNyvW9cyY; SERVERID=1fa1f330efedec1559b3abbcb6e30f50|1573441580|1573441549; _gat=1; Hm_lpvt_022f847c4e3acd44d4a2481d9187f1e6=1573441790

  从这段消息体中我们可以获知,它的访问方式是 POST,访问的 URI 是“https://time.geekbang.org/serv/v1/column/topList ”。这里面的具体属性内容,你可以自行查看,但是,我希望你重点关注如下这几个属性:

  • HOST,它表示指定访问的服务器域名;
  • Connection 的值为 keep-alive,这表示需要持久连接;
  • Accept,它表示客户端可以接受的内容类型为 application/json, text/plain, / ;
  • User-Agent,它说明请求是从什么浏览器发出去的;
  • Sec-Fetch-Site 和 Sec-Fetch-Mode,它们是 JS 中对跨域的一些设置;
  • Accept-Encoding 设置为 gzip、deflate、br,这表示可以支持的 Web 服务器返回内容压缩编码类型;
  • Accept-Language,它表示接受的语言。
      接下来我们再看看这个请求的 Response 信息,由于返回的消息比较长,我在这里就不贴出来了,但是通过下面这个图你可以看出,这次返回的主体是一个很长的 JSON,这里面包含了各个专栏或者课程的信息。
    在这里插入图片描述
发布了254 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/yangshengwei230612/article/details/104532269