如何在Android上捕获应用流量



我正在尝试捕获安卓手机上应用程序的流量,尽管我已经在手机上设置了代理,并且可以捕获来自手机的所有其他互联网流量(使用Charles proxy),但我看不到这一应用程序的任何流量。

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

更新:

  • 如果你需要帮助从电脑设置wifi热点,那么你可以将您的手机连接到它,并Wireshark流量,只需查看以下链接可获取路线:
    http://www.wi-fiplanet.com/tutorials/article.php/3849841/How-to-Create-Wireless-Hosted-Networks-in-Windows-7.htm

  • 如果您想要帮助将IOS应用程序反编译为程序集,请查看以下
    链接:http://www.infointox.net/?tag=arm

  • 如果你想要一个比dex2jar更好的Dex-to-Java反编译器,请检查out:https://github.com/skylot/jadx

有几种方法:

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

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

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

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

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

希望它能有所帮助!

最新更新