深圳专业网站设计公司,比较好的wordpress,怎么在网站上做模式题库,永州城乡建设中等职业技术学校网站1.简介
Fiddler不但能截获各种浏览器发出的 HTTP 请求#xff0c;也可以截获各种智能手机发出的HTTP/ HTTPS 请求。
Fiddler 能捕获Android 和 Windows Phone 等设备发出的 HTTP/HTTPS 请求。同理也可以截获iOS设备发出的请求#xff0c;比如 iPhone、iPad 和 MacBook 等苹…1.简介
Fiddler不但能截获各种浏览器发出的 HTTP 请求也可以截获各种智能手机发出的HTTP/ HTTPS 请求。
Fiddler 能捕获Android 和 Windows Phone 等设备发出的 HTTP/HTTPS 请求。同理也可以截获iOS设备发出的请求比如 iPhone、iPad 和 MacBook 等苹果设备。
今天宏哥讲解和分享Fiddler 如何截获iOS移动端发出的 HTTP/HTTPS 请求。
2.环境准备
Fiddler 如果想要实现手机抓包需要先满足下面 3 个条件
1电脑上安装有 Fiddler 抓包工具。
2安装有 Fiddler 的电脑必须跟手机处在同一个网络里并且手机网络代理必须设置为fiddler当我们的手机发送数据时必须经过Fiddler这一层服务。
3在 Fiddler 中设置好捕获 HTTPS具体方法请百度宏哥前边也讲解和分享过。
3.Fiddler截获手机原理图
Fiddler 作为代理服务器可以接收远程机器发来的 HTTP/HTTPS 协议的数据包并且将其转发到 Web 服务器。 如果你想学习接口自动化测试我这边给你推荐一套视频这个视频可以说是B站播放全网第一的接口自动化测试教程同时在线人数到达1000人并且还有笔记可以领取及各路大神技术交流798478386
【已更新】B站讲的最详细的Python接口自动化测试实战教程全集实战最新版_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集实战最新版共计200条视频包括1.【接口自动化】目前软件测试的市场行情以及测试人员能力标准。、2.【接口自动化】全面熟练Requests库以及底层方法调用逻辑、3.【接口自动化】接口自动化实战及正则和JsonPath提取器的应用等UP主更多精彩视频请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from333.337.search-card.all.click
4.截获手机发出的 HTTP 包有什么作用
1APP 开发人员利用 Fiddler 可以截获手机发出的 HTTP 包从而调试 APP 程序。
2软件测试人员可以用其来测试智能手机上的软件做接口测试或者安全测试。
3截获了 HTTP/HTTPS 后可以设置下断点修改 HTTP 请求和 HTTP 响应。
PS下面是重点 配置项 5.IOS手机抓包配置
5.1Fiddler配置
在Fiddler中我们还需要设置远程连接权限和端口号具体操作步骤如下
1.启动 Fiddler单击菜单栏中 Tools-Fiddler Options-Connections选中“Allow remote computers to connect(允许远程计算机连接)”然后设置一个端口也可以默认为8888。如下图所示 选中后就表示允许远程机器把 HTTP/HTTPS 请求发送到 Fiddler 上来配置完后记得要重启 Fiddler。同时我们还能看到 Fiddler 的工作端口号是 8888。
5.2确保手机和PC在同一网络环境下
手机和电脑必须在同一局域网手机最好也关闭4G/5G网络流量, 并且使用wifi让手机和fiddler在同一局域网下具体操作步骤如下
5.2.1获取Fiddler所在机器的IP地址
1.让android手机的网络进出口指向局域网中fiddler服务地址, 那么我们这里就必须要知道Fiddler的ip地址和端口号(port)。
这里Fiddler的ip地址就是我们当前电脑中的本机ip地址。查看电脑的 IP 地址按快捷键【WindowsR】调出运行窗口。输入 CMD可以打开CMD 命令行工具输入命令“ipconfig”可以找到 IP 地址找到其中的IPv4地址即为本机ip。一个电脑可能有多个网卡注意要找到真正的 IP 地址例如某 IP 地址是 10.0.0.11如下图所示 2.可以对照一下当前所安装的Fiddler中的ip地址是否一致你可以直接在fiddler上 将鼠标放置于 Online 工具上就会显示本机ip地址,如果一样那么就可以确保一会设置手机和电脑在同一个局域网内。如下图所示 5.3iOS手机设置网络代理
1.打开IOS设备的 设置 - 无线局域网找到你要连接的网络点击右边的符号如下图所示 2.打开网络设置对话框下拉到最后找到配置代理点击有点的 符号弹出网络代理配置进行如下配置并点击右上角的 存储如下图所示 5.4测试Fiddler捕获手机发出的HTTPS
启动 IOS设备中的浏览器或应用在fiddler程序中可以看到完成的请求和响应数据如图所示 注意
在上述完成的请求中可以看到存在很多的 Tunnel to xxx 443 问题这是由于网页中有很多请求都是 HTTPS 因此需要在手机中安装 Fiddler 生成的证书并在手机中信任该证书。
6.ios手机下载安装与配置证书
跟android一样我们使用Fiddler来抓取ios手机的HTTPS数据包也是需要安装根证书从而来解码我们的HTTPS数据报文,
6.1下载证书
那么其实下载证书步骤其实也跟android手机是差不多的。
1.使用ios手机中自带的的safari浏览器输入配置好的ip端口跳转到 Fiddler Echo Service 证书下载页其他浏览器可能不成功如下图所示 2.点击 FiddlerRoot 证书将其下载到手机中打开手机 设置 - 通用 - VPN与设备管理找到 已下载的描述文件FiddlerRoot 证书如下图所示 3.点击 DO_NOT_TRUST_FiddlerRoot点击右上角的 安装安装完后点击右上角的 完成如下图所示 4.由于iOS手机提供了系统层面的设置所以在确认证书安装好、代理设置没问题后需要对已安装的证书进行信任设置。即点击 设置 - 通用 - 关于本机 - 证书信任设置开启 Fiddler 证书信任接受这样的对话即允许第三方窃听你的所有通信。如下图所示 5.到此Fiddler 就可以抓取 HTTPS 请求了。可以看出iOS 上的设置要比 Android 上复杂一些也反映出 iOS 更安全一些。
7.开始ios抓包
配置好PC端的Fiddler、手机也安装了证书、代理也设置之后我们就可以在手机上操作app捕获数据包了然后在Fiddler中查看发送的请求和响应报文了,如下图所示
手机APP 手机百度网页 8.小结
注意
1.不使用Fildder 进行抓包时建议将手机网络代理关闭以防有其他网络问题。
2.必须要开启证书信任,否则会出现无法抓到HTTPS包的情况。
3.如果还是抓不到包需查看一下防火墙是否关闭是否没有允许Fiddler程序通过防火墙或者检查一下证书是否出现问题或者 删除所有的证书之后 ,重新安装Fiddler与手机的证书重置后再次尝试抓包!