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

我很好奇我怎么能找出一个Android应用程序(我已经安装的任何应用程序)的API URL,如果它调用一些在线服务器的API调用(例如一个RESTful服务)。 我认为我必须捕获设备上的数据包,也许分析他们在Wireshark或东西来findurl? 我在Java / Android开发方面相当有能力,但在任何networking分析业务方面都有点失落。

Solutions Collecting From Web of "嗅探Android应用程序以查找API URL"

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

  1. 在您的电脑上安装wireshark
  2. 现在我们必须创buildAndroid虚拟设备(ADV),所以我们将从官方网站下载Android SDK。 Android SDK附带模拟器进行testing
  3. 设置Android SDK后,创build一个Android虚拟设备(AVD),我们将在其上安装应用程序
  4. 启动该虚拟设备。 你可以使用命令行来启动( emulator @<AVD name>
  5. 在使用adb命令adb install app_file_name.apk创build虚拟设备安装应用程序adb install app_file_name.apk
  6. 现在我们可以开始捕获数据包,所以我build议closures正在使用networking的计算机上的其他应用程序,这样我们捕获的数据包就会更加相关。
  7. 现在用root权限启动wireshark
  8. select你想要捕捉的界面,点击开始开始捕捉。 你可以在http://i.stack.imgur.com/C891Q.png或以下看到截&#x56FE;

    wireshar启动图像

  9. 现在开始使用该应用程序,因此数据包将来回传输,wireshark将捕获它。 你会看到像这个sshotshot wireshark在http://i.stack.imgur.com/9Brdl.png或以&#x4E0B;

    数据包列表

  10. 如果您使用的应用程序覆盖了各种活动,那么您可以停止wireshark捕获数据包。

  11. 现在开始主要的业务来仔细分析数据包,但并不是所有的数据包都对我们的工作有用。 所以让我们过滤与您相关的数据包。 让你的IP地址是192.168.0.32,然后过滤所有IP的这个数据包。 所以过滤expression式会被ip.addr==192.168.0.32应用这个filter。 我们仍然应用另一个filter仅列出相关的数据包,所以可能该应用程序正在使用HTTP协议访问API,因此应用HTTPfilter。 expression式将是http 。 你可以同时申请都过滤ip.addr==192.168.0.32 and http按回车申请。 现在你会看到最相关的数据包。 你可以在http://i.stack.imgur.com/rZ6Vu.png或以下看到截&#x56FE;

    wireshark细节

  12. 仔细查看信息列出的数据包,你会看到很多重要的细节,API密钥,cookies等

使用debugging代理 点击播放button,你将能够捕获url和查看更多细节

https://play.google.com/store/apps/details?id=com.dans.apps.webd

一个非常快速的方法。
转到PlayStore,search数据包捕获

下载,安装并运行。
这很简单,快捷。 它会为您提供有关API,URL和响应头的详细信息。

此应用程序遵循数据包嗅探的概念。 因此,这可能不适用于WhatsApp,Facebook,Twitter等安全应用程序。