Fiddler 在安卓高版本无法联网的解决方法
Fiddler 在安卓高版本无法联网的解决方法
Fiddler 是一个运行在 Windows 平台上的用于 HTTP 调试的抓包工具,可以用于查看和编辑网站的 HTTP 流量。但在安卓高版本设备上使用时,可能会发现无法联网,本文将从多个方面为大家进行详细的阐述。
一、设置安卓设备代理
在使用 Fiddler 进行抓包时,需要将安卓设备的网络代理地址设置为 Fiddler 的代理地址,这样 Fiddler 才能拦截到安卓设备的网络请求。具体方法如下:
1.连接 Wi-Fi 网络;
2.进入 Wi-Fi 设置,长按当前连接的 Wi-Fi 网络,选择 "修改网络";
3.在弹出的界面中,勾选 "高级选项",选择 "代理";
4.将代理设置为手动,输入 Fiddler 的代理地址(Fiddler 的默认代理地址为 127.0.0.1 端口号为 8888);
5.保存设置,重新打开一个网站,此时 Fiddler 就可以正常抓包了。
二、解决安卓 7.0+ HTTPS 请求无法抓包的问题
在安卓 7.0+ 版本中,Google 引入了一项名为 Network Security Configuration 的功能,它要求所有应用程序只能通过 HTTPS 发送网络请求,此时默认情况下无法直接抓取 HTTPS 协议的网络流量。
因此,要想成功抓到 HTTPS 协议的网络请求,我们需要先在 Fiddler 中安装相关的证书。
下面是具体步骤:
1.在 Fiddler 点击 "Tools" -> "Fiddler Options" -> "HTTPS";
2.勾选 "Capture HTTPS CONNECTs" 和 "Decrypt HTTPS traffic",点击 "Actions" -> "Export Root Certificate to Desktop";
3.将证书文件拷贝到安卓设备上,进入设备的 "设置" -> "安全" -> "安装来自 SD 卡的证书",选中证书文件进行安装;
4.重新启动设备,连接到需要抓包的 Wi-Fi 网络,将代理设置为 Fiddler 代理地址,此时 Fiddler 就可以成功抓取 HTTPS 协议的网络请求了。
三、配置 Fiddler 的监听地址和端口号
如果在 Fiddler 中修改了监听地址和端口号,那么需要相应修改安卓设备的代理地址。具体步骤如下:
1.在 Fiddler 中点击 "Tools" -> "Fiddler Options" -> "Connections";
2.在 "Fiddler listens on port" 一栏中填写 Fiddler 的监听端口号(默认为 8888),在 "IP address to bind to" 一栏中填写 Fiddler 监听的 IP 地址,通常填写 127.0.0.1 即可;
3.在安卓设备中设置代理时,将代理地址设置为修改后的 Fiddler 监听地址和端口号(例如 192.168.0.2:8888)。
四、总结
以上就是针对 Fiddler 在安卓高版本无法联网的解决方法。通过本文的多个方面的阐述,相信读者可以成功解决 Fiddler 在安卓高版本无法联网的问题。
附录:设置安卓设备代理代码示例
// 连接 Wi-Fi 网络 WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); String ssid = wifiInfo.getSSID(); Log.d(TAG, "SSID: " + ssid); // 设置代理 try{ ProxySettings.setProxySettings(this.getApplicationContext(), proxyHost, proxyPort); } catch(Exception e){ Log.e(TAG, "setProxy error", e); }
评论关闭