【问题标题】:Capturing data being transmitted from a mobile by an app or webpage捕获通过应用程序或网页从移动设备传输的数据
【发布时间】:2012-12-28 17:42:32
【问题描述】:

我正在编写一个 Android 应用,我想从一些购物网站/应用中获取收据数据。

这是我想要实现的功能 -

  1. 用户访问 GenericShoppingWebsite
  2. 用户购物并完成付款流程
  3. GenericShoppingWebsite 确认付款并显示收据,其中显示花费金额和交易日期等...
  4. 我想捕获此收据数据以进行处理。

在普通台式机/Chrome 笔记本电脑上,可以使用 Chrome 扩展程序捕获这些数据,并对从收据中抓取数据的页面运行 Javascript。也可以使用原始数据包捕获和分析来完成(尽管这要困难得多且效率低下)。

但 Chrome 扩展程序目前无法在移动设备上运行。而且我认为在移动设备上无法捕获原始数据包。然后一些购物将通过应用程序而不是网站完成。我还需要从这些应用程序中获取收据数据。但是我没有应用开发经验,所以我不知道这意味着什么。

因此,我希望在用户通过网站在移动设备上进行购买时捕获收据数据,并在可能的情况下捕获通过专用应用进行的购买。我想要做的事情实际上是不可能的,或者有人知道实现这一目标的方法吗?

【问题讨论】:

    标签: android mobile packet-capture packet-sniffers


    【解决方案1】:

    您可以通过 Fiddler (http://www.fiddler2.com/) 等软件捕获请求并做出响应。它就像一个代理服务器,所以您所要做的就是更新移动设备中的代理/网络设置。

    【讨论】:

    • 幸运的是,应用无法在没有用户干预的情况下更改代理服务器设置,并且并非所有应用都必须使用集中式代理服务器设置。
    • 这是为了编写一个可以在安卓设备上运行的应用程序。我认为 fiddler 只能通过在 pc 上设置 fiddler 并将移动设备连接到 pc 来与 android 一起使用。
    • 代理设置确实如此。应用本身可以向调试代理服务器发出请求,代理向API服务器发送请求并返回响应。
    • fiddler 适用于任何具有代理/网络设置的移动设备。您无需将移动设备连接到 PC。相反,只要它们都在 Internet/LAN 中,它就可以工作
    • 我不确定你在说什么。你是说我应该通过互联网将所有流量从移动设备发送到我在某个运行提琴手的地方设置的代理服务器吗?如果是这样,是否可以编写一个应用程序来执行此操作,因为让普通用户更改其代理/网络设置是不可行的?
    【解决方案2】:

    BurpSuite 是移动应用测试的最佳选择之一。试一试,它实际上比 Fiddler 更强大。

    【讨论】:

      【解决方案3】:

      您可以在计算机上设置 Android 虚拟设备。并使用adb 在该设备中安装您要监控和分析的应用程序。

      开始在虚拟设备上使用该应用程序,现在您可以开始使用wireshark 捕获数据包。当您完成使用应用程序时。停止wireshark以进一步捕获。

      现在应用过滤器并仔细分析数据包。您将看到 url、请求、响应、cookie 等的所有详细信息。

      我已经列出了回答这个问题的步骤Sniffing an Android app to find API URL

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-08-21
        • 1970-01-01
        • 2019-01-16
        • 1970-01-01
        • 1970-01-01
        • 2017-02-06
        • 2016-09-30
        • 2016-11-25
        相关资源
        最近更新 更多