fiddler手机抓包配置详解
fiddler是什么 干什么的就不说了,度娘说的很清楚了嘻嘻
fiddler没有手机客户端,都是安装在PC上,要实现对手机上的程序抓包,则需要对PC上的fiddler和手机端做一些配置,并满足如下四个条件:
1).电脑需要安装Fiddler 2).测试手机需要支持Wifi
3).测试手机与电脑需要同一网络 4).所测APP需支持代理
一. 电脑 直接 度娘 搜索 fiddler 下载安装即可
二. 启动fiddler,并按如下 步骤 进行配置
1. 安装HTTPS证书,手机上的应用很多涉及到个人信息,采用比较安全的HTTPS加密过,而fiddler默认只捕获http会话而不抓取HTTPS报文,导致打开fiddler后就打不开https网页(比如百度),解决办法:打开Fiddler->Tool->Fiddler Options->HTTPS tab,勾选上并Capture HTTPS CONNECTs(捕获 HTTPS 连接)和 Decrypt HTTPS traffic (HTTPS 请求解密),并安装证书(首次使用无证书,会弹出是否信任fiddler证书和安全提示,点击yes),重启Fiddler生效。
2. 允许手机远程连接,如果想要捕获手机上的通信数据,就需要手机连接上Fiddler代理,而Fiddler默认是不允许其他设备进行连接的,解决办法:点击 Fiddler->Tools -> Options,在 Connections 面板选中 Allow remote computers to connect 允许其他设备连接(重启生效)。
允许远程连接三. 手机端添加代理
需要在移动终端(手机或pad)上指定代理服务器为Fiddler所在主机IP(需要处于同一网络),端口默认8888(步骤 2.2 截图 上面显示的有 端口信息 )。
1. 接入网络,要保证手机和安装有fiddler的电脑处在同一局域网内,手机能ping通电脑。然后 CMD 命令 获取电脑 IP地址,打开手机 WLAN设置 找到【当前连接的 wifi 名称】,点击详情进入 详情页面,找到 【代理】 设置为手动,这时在代理 下面 出现两个 子栏目 主机名和端口(主机名就填写 获取的 电脑IP 地址,端口 设置为 8888)
手机端代理设置四. 手机安装根证书,在手机上需要安装Fiddler根证书,因为Fiddler是通过自己生成的证书对网络请求重新签名进行https会话解密的,如果不安装证书的话只能抓取HTTP请求。
手机和电脑连接同一个网络,打开手机浏览器,输入Fiddler Server地址http://ipv4.fiddler:8888/(因为fiddler装在PC上,所以Fiddler Server地址就是PC的IP地址,带上端口号8888,我的是http://192.168.1.106:8888/), 跳转到 Fiddler Echo Service 证书下载页,点击FiddlerRoot certificate下载并安装;
五. fiddler抓包手机添加代理后连不上网解决办法:
(1)打开注册表(cmd-regedit),在HKEY_CURRENT_USER\Software\Microsoft\Fiddler2下创建一个DWORD,值置为80(十进制)
连不上网解决办法(2) 编写FiddlerScript rule,点击Rules > Customize Rules,用ctr+f查找到OnBeforeRequest方法添加一行代码
if (oSession.host.toLowerCase() == "webserver:8888"){oSession.host = "webserver:80"; }
设置完之后重启Fiddler即可。
其他方法:关闭电脑防火墙(没有尝试)
六、针对无法直接通过代理抓包处理,可以借鉴 APP无法代理抓包的原因及解决方法(flutter 抓包)亲测可用