用Fiddler抓取iPhone的HTTP流量进行测试

本文最后更新于2015年7月4日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

文章的标题起的有点拗口,想表达的意思就是:使用抓包工具Fiddler抓取/分析iPhone上的HTTP流量以进行安全测试。

搜索关键字:

fiddler iphone

参考链接:
参考解答:
1.下载并安装Fiddler(略)

要想使用Fiddler,首先你得安装有Fiddler才行。

2.对Fiddler进行一些设置

打开Fiddler,然后打开菜单『Tools > Fiddler Options…』点开『Connections』选项卡,选中:
Allow remote computers to connect” #必须
“Act as system proxy on startup” #可选
设置Fiddler的监听端口(默认是8888)

在进行上面的设置之后,重启Fiddler。

3.查看Fiddler的监听状态

确保『File > Capture Traffic』处于选中的状态(即,此时Fiddler正在监听/抓取流量)

4.对iPhone进行简单设置

查看本机IP『ipconfig /all | findstr /i ipv』,这里假定为:192.168.1.55

打开iPhone的『设置 > Wi-Fi > 当前Wifi连接 > HTTP 代理』
服务器:192.168.1.55
端口:8888
鉴定:关闭

5.查看监听流量

用iPhone上的Safari浏览器打开网页就可以进行简单的流量抓取测试了。


在Linux或Mac上使用Fiddler

最开始的时候Fiddler是只能用在Windows系统上的,后来因为有了Mono这个开源、跨平台的Windows .NET环境实现,使在Linux和Mac上使用Fiddler成为了可能。

  • 首先,去Fiddler的官网下载Mono版的Fiddler压缩包然后解压到指定目录并切换到该目录;
  • 然后,在Linux上搭建Mono环境『pacman -S mono』;
  • 最后,在Linux上启动Fiddler『mono fiddler.exe』。
参考链接:

=EOF=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/2285.html

《用Fiddler抓取iPhone的HTTP流量进行测试》上有12条评论

  1. 关于手机 App 的 Https 抓包
    https://paper.tuisec.win/detail/e36d19d5dcf39dc
    https://toutiao.io/posts/lg66i0/preview
    https://blog.huoding.com/2019/05/31/741

    我喜欢用 Mitmproxy 来处理手机 App 抓包之类的工作,本来用它来抓 Https 包是很容易的一件事,只要设置好代理,浏览 mitm.it 按提示安装证书即可,可是当 Android 版本升级到 7 以后,此方法就失效了,为什么呢?因为新版 Android 缺省情况下只信任系统级证书,而不再信任用户级证书,问题详细描述可以参考:听说安卓微信 7.0 不能抓 https?

    普通的解决方法有很多,比如说用低版本的 Android 手机,或者干脆换个苹果手机。不过那些治标不治本的方法并不是本文关注的重点,本文我们主要聊聊如何通过 root 来解决问题,但是 root 本身是有风险的,所以下面有请重量级嘉宾网易 MuMu 闪亮登场!它是一个有 root 权限的全功能 Android 模拟器。

    通过 root 安装系统证书可以解决大部分 Https 抓包问题,为什么不是全部?还有哪些特殊情况不能处理?答案是「SSL Pinning」,它是为了应对中间人攻击而出现的一种技术,简单点说,就是证书被打包到 App 里,每次请求都会验证证书一致性。如此一来,虽然我们可以安装系统级证书,但是当 App 验证证书一致性的时候就失败了,如何突破此限制呢?答案很简单,你不是要验证一致性么,我统统返回 OK 不就行了!

    为了达到 hack 的目的,我们需要安装 Xposed 和 JustTrustMe,其中 Xposed 是一个 hack 框架,JustTrustMe 是一个插件。安装过程并不复杂,唯一需要说明的是,在安装 Xposed 之前,最好在网易 MuMu 中关闭兼容模式,路径「设置 / 应用兼容性 / 兼容模式」。

    BTW:有一个 VirtualXposed 项目,无需 root,使用起来更简单,值得关注。

  2. 天天给 App 抓包,还不懂 HTTP 代理吗? | 实用 HTTP
    https://mp.weixin.qq.com/s/H5H0LixgRY6CoRunBaLBAw

    既然要说到代理,先提两个问题来当主线,从问题出发讲解 HTTP 代理。
    1、抓包工具是如何实现 HTTP 抓包的。
    2、对于 HTTPS 流量,不安装证书的情况下,通过抓包工具,请求和响应依然正常,但是不会显示报文细节。

    这个两种不同的表现,也对应了两种不同的 HTTP 代理:
    1、普通代理。基于修订后的 RFC 2616 在 HTTP/1.1 中被定义。这种代理扮演的是「中间人」的角色。对客户端来说,它是服务端,而对真正的服务端来说,它又是客户端,它就是负责在两端之间传递 HTTP 报文。
    2、隧道代理。这种一种基于 TCP 协议的隧道传输代理,它通过 HTTP 协议的 CONNECT 方法完成通信,以 HTTP 的方式,实现任意基于 TCP 的应用层协议代理。

    隧道代理,又称为 Web 隧道(Web tunnel),这种方式可以通过 HTTP 连接发送非 HTTP 流量,这样可以在 HTTP 上捎带其他协议的数据。

    隧道代理是利用 HTTP 的 CONNECT 方法建立起来的。CONNECT 方法,最初并不是 HTTP/1.1 的核心规范,但却是一种得到广泛使用的扩展,它在 2014 年发布的 HTTP/1.1 修订版中,才对 CONNECT 及隧道代理有了清晰的描述。

发表评论

电子邮件地址不会被公开。 必填项已用*标注