抓包的目的
1.抓取pc或者手机数据包,获取请求数据及规律。
2.测试分析bug是前端还是后端。
3.实时监控网络活动
4.模拟接口mock,调试前端页面。
5.模拟网络入侵
Fiddler工作原理
Fiddler是非常强大的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据。
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888。
抓包:用代理工具获取客户端与服务端发送和返回的数据包,分析数据包的内容与协议。
“fiddler启动的时候,会自动设置当前的网络代理,退出fiddler它会代理会自动注销,这样就不会影响别的程序。 ”
下载
官网下载免费版本,输入使用目的和邮箱下载就好。
https://www.telerik.com/fiddler/fiddler-classic
抓取HTTPS设置
点击工具栏Tools,修改Fiddler Options中HTTPS相关设置。信任Windows根证书解决安全警告:Trust Root Certificate(受信任的根证书),重启生效。
配置远程连接
进入工具栏Tools,修改Fiddler Options中Connections,勾选远程连接设置,重启生效。
Fiddler界面
请求菜单介绍
- 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。开启后再左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能。
过滤和删除会话
打断点
选择菜单中 Rules,选择Automatic Breakpoints,可以在请求前或者请求后设置断点。
Composer模拟请求
可以通过Composer模拟发送接口请求和数据。
点击右侧Composer,可以手动输入请求信息,点击Execute发送请求。也可把左侧的请求会话拖动到Composer中,进行修改。
手机抓包
在手机端连接PC的wifi,在高级选项中填写代理IP与端口(代理IP就是PC本机IP,端口是Fiddler的代理端口8888)
手机浏览器访问网页输入http://IPv4地址:端口
,下载Fiddler的证书,点击下图FiddlerRoot certificate。
保证fiddler远程连接已打开,打开手机上的浏览器或APP,就可以在Fiddler上看到手机上的数据包了。