使用Fiddler进行Android和IOS抓包

Android抓包

要使用Telerik Fiddler Classic捕获Android设备的网络流量,您需要执行以下步骤:

在Fiddler Classic上进行设置:

  1. 确保已安装并使用BouncyCastle作为证书生成器。较新的Android版本会拒绝有效期超过两年的证书,目前只有BouncyCastle生成器可以输出兼容Android设备的证书。(非必须)
    勾选Fiddler--Tools--Options--Https中捕获Https选项


    Action中信任所有证书。

设置代理端口为8888:

保存选项后重新启动一下Fiddler程序。

在Android设备上进行设置:

  1. 在您的Android设备上,转到"设置">"无线和网络">"更多...">"移动网络">"接入点名称"。

  2. 选择或创建一个接入点,然后编辑它。

  3. 将"代理"字段设置为Fiddler Classic机器的IPv4地址(cmd使用ipconfig命令可查看或者在fiddler右上角也可以查看),将"端口"字段设置为8888。

  4. 保存设置。

  5. 为了验证此配置,请在Android设备上的Chrome浏览器中访问http://ipv4:8888/。Chrome应该显示Fiddler Echo Service网页,并且流量应该出现在Fiddler中。

    一般这样就可以进行抓包了,如果抓不到包就安装下证书。

    下载证书进行安装

安装Fiddler证书:

  1. 如果下载没有自动开始,从顶部向下滑动并点击设置图标。
  2. 转到"个人">"安全"。
  3. 点击FiddlerRoot.cer文件。
  4. (可选)为证书输入名称。
  5. 为了验证配置,请点击"受信凭证">"用户",这应该会显示Fiddler证书。

使用后清理:

使用完Fiddler后,回到之前的代理设置屏幕并移除代理设置。

IOS抓包

为了在Telerik Fiddler Classic中捕获iOS设备的网络流量,您需要按照以下步骤进行配置:

在Fiddler Classic上设置

  1. 打开Fiddler Classic并停止捕获。

  2. 转到"工具">"选项">"HTTPS",禁用"捕获HTTPS连接"。

  3. 关闭Fiddler Classic并安装BouncyCastle(CertMaker.dll)。这将改变证书生成方式,Fiddler Classic将使用单一根证书而不会为每个会话生成中间证书。

  4. 安装完成后,重新打开Fiddler,然后在"工具">"选项">"HTTPS"菜单中选择"操作">"重置所有证书"。这将删除所有以前使用的证书并信任新证书。

  5. 同意所有系统对话框后,启用HTTPS捕获和解密(在"工具">"选项">"HTTPS"中勾选"捕获HTTPS连接"和"解密HTTPS流量")。

  6. 打开"工具">"选项">"连接",并勾选"允许远程计算机连接"。

  7. 重启Fiddler。

  8. 确保防火墙允许向Fiddler Classic进程的传入连接,并且没有阻止包括应用程序列表中的所有传入连接。

在iOS设备上设置

  1. 在iOS设备上打开"设置">"通用">"VPN与设备管理",移除所有DO_NOT_TRUST_FiddlerRoot配置文件。
  2. 进入"设置">"WiFi",找到当前网络并点击旁边的i图标。
  3. 滚动到底部,选择"手动"配置代理。
  4. 在"服务器"字段输入Fiddler Classic机器的IP地址,在"端口"字段输入默认监听端口8888,最后保存。
  5. 禁用iPhone的数据连接。
  6. 验证iOS设备是否能够通过浏览器访问http://FiddlerMachineIP:8888,该地址应返回Fiddler Echo服务页面。

安装并信任Fiddler证书

  1. 在iOS设备的浏览器中输入Fiddler Classic echo服务地址:http://ipv4:8888
  2. 点击Fiddler Classic根证书链接下载证书。
  3. 确保证书是通过BouncyCastle证书生成器创建的。

完成上述步骤后,您应该能够在Fiddler Classic中捕获来自iOS设备的HTTP和HTTPS流量。如果遇到任何安全证书问题,确保按照文档的进一步指示来解决。

ps:如果安装的证书没有信任,可以在IOS:通用--关于本机,中信任一下证书

相关推荐
曾经的三心草27 分钟前
Mysql之约束与事件
android·数据库·mysql·事件·约束
guoruijun_2012_44 小时前
fastadmin多个表crud连表操作步骤
android·java·开发语言
Winston Wood4 小时前
一文了解Android中的AudioFlinger
android·音频
B.-6 小时前
Flutter 应用在真机上调试的流程
android·flutter·ios·xcode·android-studio
有趣的杰克6 小时前
Flutter【04】高性能表单架构设计
android·flutter·dart
大耳猫11 小时前
主动测量View的宽高
android·ui
帅次14 小时前
Android CoordinatorLayout:打造高效交互界面的利器
android·gradle·android studio·rxjava·android jetpack·androidx·appcompat
枯骨成佛15 小时前
Android中Crash Debug技巧
android
iFlyCai16 小时前
Xcode 16 pod init失败的解决方案
ios·xcode·swift
kim565920 小时前
android studio 更改gradle版本方法(备忘)
android·ide·gradle·android studio