如何在Android上捕获应用流量

时间:2014-02-13 14:41:55

标签: android proxy reverse-engineering

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

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

更新:

3 个答案:

答案 0 :(得分:5)

有几种方法:

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

答案 1 :(得分:0)

在不为您的手机生根的情况下,请在Windows 7(及更高版本)上设置恶意接入点。然后使用WireShark捕获流量并存储以进行进一步分析。您可以对iOS或其他WiFi设备使用相同的技巧。请参阅(我的)博客,我已详细记录了这一点。

http://mohit.io/blog/windows-capture-analyze-mobile-device-network-traffic/

答案 2 :(得分:0)

我强烈建议您使用“CharlesProxy”(或类似)之类的东西。设置代理时要注意两件事(我希望它是你正在开发的应用程序,否则请确保你做的是因为它可能是ILEGAL):

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

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

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

希望它有所帮助!