首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >嗅探Android应用程序以查找API

嗅探Android应用程序以查找API
EN

Stack Overflow用户
提问于 2013-12-26 01:04:07
回答 7查看 147.6K关注 0票数 72

我很好奇,如果安卓应用程序(我已经安装的任何应用程序)调用某个在线服务器(例如RESTful服务),我如何才能计算出它的API。我想我必须在设备上捕获数据包,或者在Wireshark中分析它们,或者找出URL?我在Java/Android开发方面相当胜任,但在任何类型的网络分析业务方面,我都有些不知所措。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-05-09 15:08:42

您可以在WireShark的帮助下做到这一点。我在这里列出步骤

  1. 在计算机上安装WireShark
  2. 现在我们必须创建Android虚拟设备(AVD),所以我们将从官方网站下载Android。Android附带了用于测试的模拟器。
  3. 在安装Android之后,创建一个Android虚拟设备(AVD),我们将在该设备上安装app。
  4. 启动那个虚拟设备。您可以使用命令行启动(emulator @<AVD name>)
  5. 创建虚拟设备后,使用adb命令安装应用程序adb install app_file_name.apk
  6. 现在,我们可以开始捕获数据包,所以我将建议关闭您的计算机上使用网络的其他应用程序,这样我们捕获的数据包就会更加相关。
  7. 现在使用根访问启动wireshark
  8. 选择要捕获的接口,然后单击“开始”开始捕获。

  1. 现在开始使用该应用程序,这样数据包就可以来回传输,wireshark将捕获它。

  1. 如果你使用的应用程序覆盖了所有的活动,那么你可以停止wireshark来捕获数据包。
  2. 现在开始主要业务,仔细分析数据包,但并不是所有的数据包是有用的,我们的工作。因此,让我们过滤与您相关的数据包。让您的IP地址为192.168.0.32,然后过滤其IP为此的所有数据包。所以过滤器表达式将是ip.addr==192.168.0.32应用这个过滤器。尽管如此,我们还是应用另一个过滤器,只列出相关的数据包,只有这样,应用程序才有可能使用HTTP协议访问API,所以应用HTTP过滤器。表达式为http。您可以同时应用这两个是过滤器的ip.addr==192.168.0.32 and http按enter来应用。

  1. 请仔细查看所列数据包的信息,您将看到许多重要的细节、API密钥、cookie等。
票数 92
EN

Stack Overflow用户

发布于 2021-01-18 12:36:55

在windows 10机器中,只需遵循以下步骤:

  1. 转到Settings > Network & Internet >移动热点,并启用与其他设备共享我的internet连接。
  2. 将您的移动设备连接到该共享热点。
  3. 现在,要在您的移动访问互联网,点击改变适配器选项。
  4. 通过右键单击将internet共享到windows计算机的网络适配器,转到“属性”。
  5. 通过选择适当的连接(移动设备使用的本地连接)并单击“确定”,在“共享”选项卡中勾选Internet连接共享选项。

现在,如果您选择移动所使用的本地连接,您将能够在Wireshark中看到移动设备的所有网络流量。要按http流量过滤结果,可以在筛选器字段中输入http,对于https web流量,可以输入tls.handshake.type eq 1

票数 5
EN

Stack Overflow用户

发布于 2019-11-03 15:26:13

从本网站下载安卓+6.0图像用于PC:https://www.android-x86.org/

例如:https://www.android-x86.org/releases/releasenote-6-0-r3.html

确保你的应用程序与这个安卓版本一起工作--你可以在Google Play商店里检查最低的安卓版本--不要为Andriod版本取一个太高的数字:这个数字越高,安全性约束就越大。

安装VirtualBox,挂载ISO映像,引导Android,并通过Google安装应用程序。

现在您有两个选择:

  1. 如果流量未加密,则可以将所有NIC通信记录到文本文件中。例如VBoxManage modifyvm "vm-name" --nictrace1 on --nictracefile1 c:\file.pcap (参考文献)这里)
  2. 如果通信是加密的,你可以使用中间人的方法。允许这样做的应用程序是HttpCanary。它将建立VPN连接,并通过该VPN重定向您的流量。它解密和工作良好,但要小心您的私人数据。
  3. 如果应用程序使用的是证书钉扎,那么它就变得更加复杂。读这个博客。您必须对图像使用x86方法。请注意,在这篇文章中,作者使用的是Android x86 8.1 (而不是x64!)并提出了安卓SDK27。祝你好运!
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20778072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档