当前位置: 首页 > news >正文

《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(12)-Fiddler设置IOS手机抓包,你知多少???

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_from=333.337.search-card.all.click

4.截获手机发出的 HTTP 包有什么作用

1:APP 开发人员利用 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 地址,按快捷键【Windows+R】,调出运行窗口。输入 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与手机的证书重置后再次尝试抓包!

 

 

 

 

 

相关文章:

《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(12)-Fiddler设置IOS手机抓包,你知多少???

1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求。 Fiddler 能捕获Android 和 Windows Phone 等设备发出的 HTTP/HTTPS 请求。同理也可以截获iOS设备发出的请求,比如 iPhone、iPad 和 MacBook 等苹…...

MySQL中锁的简介——行级锁

1.行级锁概念及分类 可通过以下语句查看意向锁和行锁的加锁情况: select object_schema,object_name,index_name,lock_type,lock_mode,lock_data from performance_schema.data_locks;InnoDB的行锁是针对于索引加的锁,不通过索引条件检索数据&#xff0…...

4 个最常见的自动化测试挑战及应对措施

有人说:“杂乱无章的自动化只会带来更快的混乱。”不仅更快,而且是更严重、更大的混乱。如果使用得当,自动化可以成为测试团队中令人惊叹的生产力助推器和系统的质量增强器。自动化测试的关键是要正确运用,这是初始最困难的部分。…...

23款奔驰GLE450豪华型升级AMG直瀑式中网,战斗感立马提升了一个档次

奔驰GLE450豪华型升级AMG竖杠中网前进气格栅,AMG中网竖杠格栅,镀铬饰条呈圆弧状,色泽均衡,质感顺滑,极富冲击力。AMG专属字标,与中网卡扣装配紧密,凸显AMG的身份象征,点睛之笔又不显…...

ALLEGRO之Logic

本文主要讲述ALLEGRO的Logic菜单。 (1)Net Logic:暂不清楚; (2)Net Schedule:暂不清楚; (3)AssignDifferential Pair:暂不清楚; &a…...

算法leetcode|64. 最小路径和(rust重拳出击)

文章目录 64. 最小路径和:样例 1:样例 2:提示: 分析:题解:rust:go:c:python:java: 64. 最小路径和: 给定一个包含非负整数的 m x n 网…...

css---实现文本超过两行时显示省略号(...)的效果

可以使用CSS中的text-overflow属性配合-webkit-line-clamp属性来实现。以下是一种常见的方式: .text-container {overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2; /* 设置最大显示行数 */-webkit-box-orient: vertical;text-overflow: ellipsis; }在…...

30-使用RocketMQ做削峰处理

1、增加排队功能的思路 在出票模块里,一个消费者拿到了某个车次锁,则该车次下所有的票都由他来出,一张一张的出,知道所有的订单都出完。 2、实现排队出票功能 2.1、 修改发送到MQ消息的内容 修改MQ消息内容,只需要通知出哪天和哪个车次的票(即:组成锁的内容),不需要…...

如何用非root账号安装k8s集群

在大多数情况下,为了安装 Kubernetes(K8s)集群,需要具有root权限或者以root身份执行某些操作,例如安装软件包和配置系统级别的设置。然而,你可以通过以下方法在非root账号下安装K8s集群: 使用Mi…...

windows环境安装elasticsearch+kibana并完成JAVA客户端查询

下载elasticsearch和kibana安装包 原文连接:https://juejin.cn/post/7261262567304298554 elasticsearch官网下载比较慢,有时还打不开,可以通过https://elasticsearch.cn/download/下载,先找到对应的版本,最好使用迅…...

高精度算法

基础模板: (411条消息) 高精度加法_会笑的小熊的博客-CSDN博客 (411条消息) 高精度乘法_会笑的小熊的博客-CSDN博客 (411条消息) 高精度减法_会笑的小熊的博客-CSDN博客 目录 P1601 AB Problem(高精) P1303 A*B Problem P1009 [NOIP1998 普…...

DragGAN:用崭新的方式进行图像处理

该项目的论文被SIGGRAPH 2023 收录,论文以 StyleGAN2 架构为基础,实现了 “Drag” 关键点就能轻松 P 图的效果。 https://github.com/XingangPan/DragGAN https://vcai.mpi-inf.mpg.de/projects/DragGAN/ 目录 原图1测试一测试二测试三 原图2测试一测试…...

语音播放 linux

调整语音音量大小 pactl list sinks pactl set-sink-volume 15 12345 # 15可以改成别的id安装pip install pyttsx3 sudo apt-get update sudo apt-get install espeak sudo ldconfig pip3 install pyttsx3代码 import pyttsx3 import threading def speak_work(text):engine…...

各大互联网公司面经分享:Java 全栈知识 +1500 道大厂面试真题

这篇文章给大家分享一下我遇到的一些质量较高的面试经历,具体经过就不多说了,就把面试题打出来供各位读者老哥参考如有不全的地方,各位海涵。 猿辅导 八皇后问题 求二叉树的最长距离(任意两个节点的路径 中最长的) lru 算法的实现 设计一…...

【LeetCode】剑指offer礼物的最大价值

礼物的最大价值 题目描述算法分析编程代码 链接: 礼物的最大价值 题目描述 算法分析 编程代码 class Solution { public:int maxValue(vector<vector<int>>& grid) {int m grid.size();int n grid[0].size();vector<vector<int>> dp(m1,vector…...

应用层协议——https

文章目录 1. HTTPS 是什么2. 什么是"加密"3. 常见的加密方式4. 数据摘要 && 数字签名5. HTTPS 的工作过程探究5.1 方案1 - 只使用对称加密5.2 方案2 - 只使用非对称加密5.3 方案3 - 双方都使用非对称加密5.4 方案4 - 非对称加密 对称加密5.5 中间人攻击5.6 …...

Emacs之实现鼠标/键盘选中即拷贝外界内容(一百二十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…...

智慧城市环境污染数据采集远程监控方案4G工业路由器应用

随着科技水平的发展和人民生活水平的提高&#xff0c;城市环境污染问题日渐严峻&#xff0c;尤其是在发展迅速的国家&#xff0c;环境污染问题便更为突出。许多发达国家将重污染工厂搬到发展中国家&#xff0c;这导致发展中国家的环境污染日益严重。严重的环境污染也带来了一系…...

大数据技术之Clickhouse---入门篇---安装

星光下的赶路人star的个人主页 努力到无能为力&#xff0c;拼搏到感动自己 文章目录 1、ClickHouse的安装1.1 准备工作1.1.1 确定防火墙处于关闭状态1.1.2 CentOS取消打开文件数限制1.1.3 安装依赖&#xff08;所有节点都进行依赖安装&#xff09;1.1.4 CentOS取消SELINUX 1.2 …...

vue3搭建Arco design UI框架

技术&#xff1a;Vue3.2.40 UI框架&#xff1a;Arco design 2.44.7 需要安装:yarn 1.22.19 和npm 8.19.4 1.第一步安装本地全局arco脚手架 管理员运行CMD npm i -g arco-cli安装成功后如下&#xff1a; 2.第二步在需要存放项目的文件夹拉取项目 我这里把项目存放在 D:\W…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...