Fiddler手机抓包(iPhone) 谁践踏了优雅 2022-04-10 13:18 362阅读 0赞 Fiddler不但能截获各种浏览器发出的HTTP/HTTPS请求,也可以截获各种移动设备(包括Andriod和IOS)发出的HTTP/HTTPS请求。最关键的是,Fiddler还可以断点调试,修改Request和Response,而且即便抓包的是IOS设备,这些操作也可以直接在Windows PC上进行,不需要非得在MAC上。 # 一、PC上安装Fiddler # 官网下载地址:[https://www.telerik.com/fiddler][https_www.telerik.com_fiddler] 安装步骤略。 # 二、Fiddler配置 (配置完后记得要重启Fiddler) # 1、进入Tools-Options...,设置HTTPS,如下图所示 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqY2xzeA_size_16_color_FFFFFF_t_70][] 2、设置Connections,选中"Allow remote computers to connect",如下图所示,Fiddler的默认端口是8888 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqY2xzeA_size_16_color_FFFFFF_t_70 1][] # 三、手机配置 # (1) 网络代理设置 安装Fiddler的机器,跟Iphone(ipad) 必须在同一个网络里, 否则IPhone(ipad)不能把HTTP发送到Fiddler的机器上来。 打开IPhone, 找到你的网络连接, 打开HTTP代理, 输入Fiddler所在机器的IP地址(可以通过cmd命令窗口中输入ipconfig来查看,比如:192.168.1.104) 以及Fiddler的端口号8888 ![Center][] (2) Fiddler证书安装 这一步是为了让Fiddler能捕获HTTPS请求。 如果你只需要截获HTTP请求, 可以忽略这一步 1. 首先要知道Fiddler所在的机器的IP地址(在上一步中我们其实已经知道了):假如我安装了Fiddler的机器的IP地址是:192.168.1.104 2. 打开IPhone 的Safari,访问 [http://192.168.1.104:8888][http_192.168.1.104_8888] 点击最下面的"FiddlerRoot certificate", 然后安装证书 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqY2xzeA_size_16_color_FFFFFF_t_70 2][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqY2xzeA_size_16_color_FFFFFF_t_70 3][] 3. iOS 10.3升级之后,安装的证书默认是不启用的,需要手动去开启。设置 –> 通用 –> 关于本机 –> 证书信任设置,将Fiddler的证书开关打开就行了。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqY2xzeA_size_16_color_FFFFFF_t_70 4][] 现在大功告成,可以抓包了。IPhone上的应用(比如Safari, Firefox, Itunes, App Store)发出的HTTP/HTTPS都可以被Fiddler获取,不但能截获, 还可以下断点,修改Request, 修改Response。 # 四、注意事项 # (1) 用完了, 记得把IPhone(ipad)上的Fiddler代理关闭, 以免IPhone(ipad)上不了网。 (2) 只能捕获HTTP,而不能捕获HTTPS的解决办法 有时候会发现, Fiddler 只能捕获IPhone发出得HTTP请求, 而不能捕获HTTPS请求, 原因可能是证书没有安装好。 解决办法是: 1. 先把IPhone上所有的Fiddler证书删除 (拿出IPhone, 点”设置“->“通用”->"描述文件") 2. 按照上面的方法,重新安装Fiddler证书 # 五、设置代理后,手机连不了网的解决办法 # 经过上面的设置,如果手机通过代理还是连不了网,可以进行如下设置 1. 关闭电脑防火墙 2. 打开注册表(cmd-regedit),在HKEY\_CURRENT\_USER\\Software\\Microsoft\\Fiddler2下创建一个QWORD,值置为80(十进制)![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqY2xzeA_size_16_color_FFFFFF_t_70 5][] 3. 编写fiddlerScript rule,点击Rules->Customize Rules,用Ctrl+F查找OnBeforeRequest方法添加如下一行代码 if (oSession.host.toLowerCase() == "webserver:8888") { oSession.host = "webserver:80"; } 设置完之后重启Fiddler即可。 [https_www.telerik.com_fiddler]: https://www.telerik.com/fiddler [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqY2xzeA_size_16_color_FFFFFF_t_70]: /images/20220330/c75a774a97334b60a2b5f8e58c819ad0.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqY2xzeA_size_16_color_FFFFFF_t_70 1]: /images/20220330/af8825f19fb04520955669c77ca4a8f6.png [Center]: /images/20220330/4012e8dbde144207a658868ba7efd47f.png [http_192.168.1.104_8888]: http://192.168.1.104:8888 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqY2xzeA_size_16_color_FFFFFF_t_70 2]: /images/20220330/4dcb9f4940bc4f23a2554104a38cd0c5.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqY2xzeA_size_16_color_FFFFFF_t_70 3]: /images/20220330/40e7fe714d2240e6a30ce13933e87b5e.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqY2xzeA_size_16_color_FFFFFF_t_70 4]: /images/20220330/27d4bd3b733a4481a09d9a17feb0bce9.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqY2xzeA_size_16_color_FFFFFF_t_70 5]: /images/20220330/035633446dd84a4299abaf703c22856a.png
还没有评论,来说两句吧...