代码之家  ›  专栏  ›  技术社区  ›  blizz

如何在Android上捕获应用程序流量

  •  11
  • blizz  · 技术社区  · 11 年前

    我正在尝试从Android手机上的应用程序捕获流量,虽然我在手机上设置了代理,可以捕获来自手机的所有其他互联网流量(使用Charles proxy),但我看不到这一个应用程序的任何流量。

    这是如何完成的,我如何捕获流量?

    更新:

    2 回复  |  直到 11 年前
        1
  •  8
  •   Marcel Tricolici    11 年前

    有几种方法:

    1. 将手机连接到内部wifi接入点(在连接之前,请检查高级选项并设置手动代理)。。注意:此方法不适用于所有网络数据。。某些连接忽略此设置。
    2. (仅适用于根手机)在设备上安装“Shark for Root”应用程序。。。它将捕获所有流量。。它将生成转储文件,可以使用Wireshark软件在您的PC上进行分析
    3. 最好的方法是:将你的电脑设置为wifi接入点,让你的android设备使用这个wifi连接,然后使用相同的Wireshark应用程序嗅探流量。
        2
  •  1
  •   zapotec    9 年前

    我强烈建议您使用类似“CharlesProxy”(或类似)的语言。设置代理时,请注意两点(我希望它是您正在开发的应用程序,否则请确定您所做的,因为它可能是ILEGAL):

    1-如果您想从Android/iOS手机攻击安装在本地计算机上的代理,则需要将代理配置为使用本地IP:PORT(这意味着如果使用普通wifi网络,CharlesProxy需要配置为192.168.x.x地址)。然后,Android/iOS手机需要将代理设置为相同的IP:PORT 2-如果应用程序使用https,有几种方法可以管理https连接:

    a) 如果您的应用程序接受所有证书,那么任何代理捕获和解密信息都不是问题。 b) 如果您的应用程序只接受系统(和可信)证书,则必须将charlesproxy证书导出到Android手机,并将其添加到用户的可信证书列表中。

    c) 如果您的应用程序正确地执行了“证书锁定”,您将无法捕获流量,除非您拥有服务器的专用证书,并将其添加到(手机)和代理配置中。

    希望它有帮助!