Android设备出现问题-Charles Proxy-互联网连接

时间:2018-10-11 04:12:07

标签: android macos ssl proxy charles-proxy

我正在尝试从Android设备获取“查尔斯日志”,但无法正常工作。使用代理设置Wifi后,Android设备的浏览器将无法连接到互联网。 我列出了我在计算机上设置Charles Proxy并将Android设备配置为使用Charles代理的步骤。

我非常感谢您的帮助,但我只想指出几点:

**我具有适用于Android设备代理设置的正确Wifi网络和IP地址(请参阅下面的步骤18)。

*据我所知,我不在Android设备上使用VPN或防火墙。我该如何仔细检查?

*我已经尝试使用以下两个版本的Charles Proxy进行以下步骤。
charles Proxy:4.2.7
查尔斯·Proxy:3.12.3 我每次都删除并重新安装了该程序。

* Android设备上的Chrome和Firefox无法通过代理设置连接到互联网。

请参阅下面的步骤列表,非常感谢!!!


系统: MacOS 10.10.5 Android:6.0.1

  1. 菜单:代理:选中了Mac OS代理
  2. 菜单:帮助> SSL代理>安装证书
  3. 在“钥匙串”中>找到证书>单击“始终信任”(输入密码)
  4. 在Charles Proxy中,单击Proxy菜单
  5. 菜单>代理> SSL代理设置
  6. 已选中启用SSL代理
  7. 点击添加
  8. 主机*端口443。
  9. 菜单:代理>代理设置
  10. 单击的代理选项卡:Http代理端口:8888
  11. 已勾选:启用透明HTTP代理
  12. 点击了MacOSX标签
  13. 已选中:启用Mac OS代理,使用HTTP代理,在启动时启用MacOS代理
  14. 单击“ Mozilla Firefox”选项卡:启用Mozilla Firefox代理,使用HTTP代理,在启动时启用Mozilla Firefox代理。
  15. 菜单:代理>访问控制设置
  16. 点击添加,设置IP范围0.0.0.0/0
  17. 已勾选:提示允许未经授权的连接。
  18. 菜单>帮助>本地IP地址-写下该IP地址,并使用该号码来设置android设备。

在Android设备上:

  1. 使用USB电缆将Android连接到Mac。端口USB 2.0
  2. 设置>网络和Internet> Wi-Fi
  3. 长时间连接的活动wifi连接,已选择:修改网络
  4. 展开``高级''选项,在``代理''下的``无''处点击并选择``手册''
  5. 在``代理主机名''字段中从步骤18输入的IP地址。
  6. 在代理端口字段中输入8888
  7. 单击“保存”。
  8. 打开Chrome
  9. 键入http://charlesproxy.com/getssl/或简短版本chls.pro/ssl
  10. 获取错误消息:“ err_proxy_connection_failed”或“ err_connection_timed_out” 请注意:Mac上有关Android设备的Charles Proxy上没有对话框。
  11. 据我所知,我没有使用VPN,也没有在Android设备上使用防火墙。我该如何检查?

要将安全证书手动添加到Android设备: 30:在Mac桌面上– Charles Proxy>菜单帮助> SSL代理>保存证书 31.将证书保存到桌面。 32.通过USB电缆将证书复制到android设备/下载文件夹(不在SD卡上)。

在android设备上: 33.找到了查尔斯代理证书文件,长按了鼠标。

  1. 在对话框中:重命名的证书Charles Proxy证书

  2. 点击的VPN和应用

  3. 单击保存。

  4. 注意:在这里,不要求我重新输入设备PIN码

  5. 打开Chrome应用。获取错误消息“ err_proxy_connection_failed”或“ err_connection_timed_out”

  6. Android设备:有关第三方可能正在观看的通知。

  7. 我检查是否已安装证书:设置>安全性>可信凭证>用户>已安装XYZ Charles Proxy安全证书。

我还使用带有crt和pem后缀的证书完成了步骤30至38。

我尝试了以下变体: *在没有USB连接到Mac的Android设备上设置代理 *在通过USB连接到Mac的同时在Android设备上设置代理 *在打开Charles Proxy之前和之后在Android设备上设置代理。

我不知道下一步该怎么做!希望您能有所帮助,并感谢您阅读本文。 :)

4 个答案:

答案 0 :(得分:1)

我在Windows计算机上使用Charles Proxy。我已关注This blog for details

步骤可以总结如下。

  • 下载并安装适用于Mac / Windows笔记本电脑的charles代理
  • 使移动设备和笔记本电脑都连接在同一网络中
  • 在Charles中启用开始记录
  • 在还连接了笔记本电脑的情况下,在选定的wifi网络中为移动设备启用代理
  • 提供笔记本电脑Charles Help选项> SSL代理>在移动设备或远程浏览器上安装查尔斯证书的IP详细信息
  • 确保提供相同的IP和8888端口号
  • 打开移动浏览器并浏览http://chls.pro/ssl
  • 这应在移动设备上下载并安装查尔斯证书
  • 在笔记本电脑中,您可以看到有关尝试连接设备的通知。也允许这个
  • 现在您可以在Charles中查看您的移动设备的所有网络日志
  • OS 7+设备中需要包含一个额外的配置文件,如下所示:

PizzaStatistics

答案 1 :(得分:0)

如果您为Android N及更高版本运行Charles代理,请确保已将以下内容添加到Android清单

Android 从Android N开始,您需要向您的应用添加配置,以使其信任Charles SSL Proxying生成的SSL证书。这意味着您只能将SSL代理与您控制的应用一起使用。

为了将您的应用程序配置为信任Charles,您需要将网络安全配置文件添加到您的应用程序。该文件可以覆盖系统默认设置,使您的应用可以信任用户安装的CA证书(例如Charles Root证书)。您可以指定这仅适用于应用程序的调试版本,以便生产版本使用默认的信任配置文件。

将文件res / xml / network_security_config.xml添加到您的应用中:

<network-security-config> 
  <debug-overrides> 
    <trust-anchors> 
      <!-- Trust user added CAs while debuggable only -->
      <certificates src="user" /> 
    </trust-anchors> 
  </debug-overrides> 
</network-security-config>

然后在您的应用清单中添加对此文件的引用,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application android:networkSecurityConfig="@xml/network_security_config" ... >
        ...
    </application>
</manifest>

答案 2 :(得分:0)

我什至买了查尔斯,也遇到了同样的问题。我用不同的设备进行了尝试,并在两个不同的Wifi中进行了尝试。没有。得到与Ana相同的错误。 是的,我已经设置了network-security-config。

答案 3 :(得分:0)

从Android 10开始,它需要额外的配置才能拦截来自Android设备的HTTPS流量。

添加到 res / xml / network_security_config.xml

<network-security-config>
<debug-overrides>
    <trust-anchors>
        <!-- Trust user added CAs while debuggable only -->
        <certificates src="user" />
        <certificates src="system" />
    </trust-anchors>
</debug-overrides>

<base-config cleartextTrafficPermitted="true">
    <trust-anchors>
        <certificates src="system" />
    </trust-anchors>
</base-config>

<domain-config>
    <!-- Make sure your URL Server here -->
    <domain includeSubdomains="true">your_test_url</domain>
    <trust-anchors>
        <certificates src="user"/>
        <certificates src="system"/>
    </trust-anchors>
</domain-config>

添加到 AndroidManifest.xml

<manifest>
    <application android:networkSecurityConfig="@xml/network_security_config">
    </application>
</manifest>

如果您仍在挣扎,请访问https://docs.proxyman.io/debug-devices/android-device#sample-android-project

中的“完整文档和样本项目”