十张图学会抓包神器Fiddler|8月更文挑战

1,630 阅读3分钟

对于前端开发或者软件测试工作来说,抓包是最基本的工作技能了,fiddler作为http/https协议抓包工具,是一款非常强大的工具,非常推荐大家使用。

抓包的目的

1.抓取数pc或者手机数据包,获取请求数据及规律。

2.测试分析bug是前端还是后端。

3.实时监控网络活动

4.模拟接口mock,调试前端页面。

5.模拟网络入侵

Fiddler工作原理

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

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

抓包:用代理工具获取客户端与服务端发送和返回的数据包,分析数据包的内容与协议。

image-20210528131744408

fiddler启动的时候,会自动设置当前的网络代理,退出fiddler它会代理会自动注销,这样就不会影响别的程序。

下载

官网下载免费版本,输入使用目的和邮箱下载就好。

www.telerik.com/fiddler/fid…

image-20210528141513374

抓取HTTPS设置

点击工具栏Tools,修改Fiddler Options中HTTPS相关设置。信任Windows根证书解决安全警告:Trust Root Certificate(受信任的根证书),重启生效。

image-20210528144752831

配置远程连接

进入工具栏Tools,修改Fiddler Options中Connections,勾选远程连接设置,重启生效。

image-20210528145412641

Fiddler界面

image-20210528152128179

请求菜单介绍

  • Headers:客户端发送到服务器的HTTP 请求的 header,分级视图,包含Web客户端信息、Cookie、传输状态等。
  • Textview:显示 POST 请求的 body 部分为文本。
  • WebForms:显示请求的 GET 参数 和 POST body 内容。
  • HexView:十六进制数据显示请求。
  • Raw:将整个请求显示为纯文本。 JSON:显示JSON格式文件。 XML:如果请求的 body 是 XML 格式,就是用分级的 XML 树来显示它。

一般,在Headers和Raw中可以查看请求行和请求头部信息,在Textview或者WebForms中查看请求实体数据。

响应菜单介绍

  • Transformer:显示响应的编码信息。
  • Headers:用分级视图显示响应的 header。
  • TextView:使用文本显示相应的 body。
  • ImageVies:如果请求是图片资源,显示响应的图片。
  • HexView:用十六进制数据显示响应。
  • WebView:响应在浏览器中的预览效果。
  • Caching :显示请求的缓存信息。
  • Raw:将整个响应显示为纯文本。
  • JSON:显示JSON格式文件。
  • XML:如果响应的 body 是 XML 格式,就是用分级的 XML 树来显示它 。

主要在Headers/Raw中查看响应行和响应头部信息,在Textview中查看响应实体部分数据。

抓包开启关闭

Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File -->Capture Traffic。开启后再左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能。

image-20210528154156334

过滤和删除会话

image-20210528155754205

打断点

选择菜单中 Rules,选择Automatic Breakpoints,可以在请求前或者请求后设置断点。

image-20210528160505596

Composer模拟请求

可以通过Composer模拟发送接口请求和数据。

点击右侧Composer,可以手动输入请求信息,点击Execute发送请求。也可把左侧的请求会话拖动到Composer中,进行修改。

image-20210528161300640

手机抓包

在手机端连接PC的wifi,在高级选项中填写代理IP与端口(代理IP就是PC本机IP,端口是Fiddler的代理端口8888)

手机浏览器访问网页输入http://IPv4地址:端口,下载Fiddler的证书,点击下图FiddlerRoot certificate。

image-20210528161908330

保证fiddler远程连接已打开,打开手机上的浏览器或APP,就可以在Fiddler上看到手机上的数据包了。