如何确定哪个应用程序正在iPhone上发送/接收大量数据?


13

我有一部iPhone,它突然(过去两个月)开始超过它所使用的200mb数据计划。在此之前,它甚至还没有接近极限。

电话公司(AT&T)给我的唯一信息是金额和时间(据我了解,这只是分组数据量的计费时间)。这是一个示例:

08/23  12:07 AM  Sent  198679KB
08/22  12:07 AM  Sent  6070KB
08/21  12:06 AM  Sent  13757KB
08/20  12:06 AM  Sent  5993KB
08/19  12:54 AM  Sent  64947KB
08/17  10:05 PM  Sent  165247KB
08/17  12:02 AM  Sent  12707KB
08/16  12:02 AM  Sent  90KB
08/15  12:42 AM  Sent  23581KB
08/14  12:10 AM  Sent  35819KB

而且除了3G的巨额费用外,这款手机在Wifi以外的时间也很少。

是否有任何可能的方法(无需越狱!)来找出什么应用程序可能传输这么多数据?目前,AT&T不会或不能给我交通目的地的明细。即使有可能,我也希望电话中有一个答案,以检查电信运营商正在测量的内容是否可行。


此注释线程中的许多注释者似乎都遇到了完全相同的问题。
妮可

1
您无法像TCP / IP流量一样代理3G流量。至少不代理它研究它。已加密。如果您可以建立一个3G桥接器,让您的手机可以轻松地与之通话,并能够通过该桥接器查看数据报,那么窥探基于3G的网络将变得非常容易。最好的选择是在WiFi网络上观看流量。
伊恩·C

我对答案进行了相当重要的编辑:当手机处于睡眠模式时,它将使用3G,而不是WiFi。3G无线电具有高能效,因此Apple决定在设备休眠时使用它。您需要使用我的技术关闭手机上的蜂窝数据。实际上,您可以在解决此问题时关闭蜂窝数据的使用以保存自己。
伊恩·C(

我当然希望这不是将相机胶卷数据上传到服务器的事情。bits.blogs.nytimes.com/2012/02/28/…–
bmike

Answers:


10

在仔细阅读了您的问题后,发现了一些问题:

而且除了3G的巨额费用外,这款手机在Wifi以外的时间也很少。

您的iPhone处于睡眠模式时,会关闭WiFi无线电以节省电池电量。因此,如果您有一些数据匮乏的应用程序在手机处于睡眠/锁定状态时在后台运行,则它们是通过3G进行的。请注意,WiFi处于睡眠模式下的行为有些不一致。但是,通过关闭蜂窝数据,可以确保在执行这些测试时手机永远不会使用3G 。这样,当它进入休眠状态时,它将继续使用WiFi而不是3G进行数据传输,您将可以捕获监控网络中的所有流量。


您可以将一些可能有助于您追查罪魁祸首的技术拼凑在一起。

快速通行证,您可以尝试使用mitmproxy监视手机在WiFi网络上时的状态。通过这篇出色的mclov.in博客文章,您可以在Mac上为手机设置代理,并通过它过滤所有http / s流量:

  1. 下载mitmproxy工具并通过转到mitmproxy文件夹并运行sudo python setup.py install进行设置。如果一切顺利,则mitmproxy必须在$ PATH中可用。
  2. 通过运行mitmproxy启动mitmproxy。
  3. 通过运行ifconfig en1(或所使用的接口)来获取计算机的IP地址。
  4. 进入无线设置,在iPhone上设置代理,将代理设置为“手动”,然后将IP设置为计算机的IP,并将端口设置为8080。

如果将mitmproxy设置为记录对文件的http / s调用,则可以在一段时间后对其进行分析并查找趋势。您还可以检查http / s调用上的有效负载,因此您可以通过这种方式发现异常大的请求。

当然:这种方法假设罪魁祸首是使用http / s进行通信。如果不是这样,您将不会通过mitmproxy看到问题,而必须诉诸较低级别的解决方案。

您需要监视您控制的WiFi网络上的所有流量,以帮助您至少找到数据传输的端点。设置带宽监控并非难事,但是要使用消费级硬件来保持每个IP,每个端点的日志确实很难,因为它可能会存储大量数据。必须检查每个数据包的来源,目的地,记录时间和大小-总计起来非常快。

但是您可以获得一些体面的数字并缩小搜索空间,因此这可能是人类可理解的。

首先:您需要在每个IP级别上建立具有带宽监视功能的网络。为此,我建议使用运行TomatoLinksys WRT54GL消费者级WiFi路由器和用于IP级带宽跟踪的TeamanIPTraffic附加组件

第二:将路由器上的DNS设置为使用OpenDNS。在您的OpenDNS帐户中,以跟踪DNS查找:

  • 登录到https://dashboard.opendns.com/
  • 点击“设置”标签
  • 单击与您的路由器关联的网络的IP地址
  • 点击左侧的“统计信息”
  • 确保选中“启用统计信息和日志”,然后单击“应用”按钮

现在,将记录您在网络上执行的所有DNS查找。

在此网络上为手机分配静态IP,以便于跟踪。

还有...等着看。

您将在路由器的每IP活动表中监视分配给电话的IP地址的活动。当此IP地址的数据活动激增时,您将转到OpenDNS控制台,并查看手机数据传输频繁的时间段内DNS查找的统计信息和日志。

这应该给出当时正在解析的主机名的简短列表。有了该列表,您也许可以将其范围缩小到一个应用程序。


3
这正是我所希望的-有关如何代理数据的详细信息。我将对此进行深入研究,看看是否还有其他问题。伟大的链接,并为此工作。
bmike

如果您还拥有Mac,则可以在这种方法上有所改进。当我有时间调试该想法时,我会写一点。
伊恩·C

2

凭借我微薄的知识,在您的鞋子中,我只选一个或两个不错的候选人,然后将它们从带iTunes的iPhone中删除。这将导致巨大的可用空间损失,iTunes可以证明这一点。

另一种较少涉及的方法是通过双击“主页”按钮并按住一个按钮直到出现x来关闭它们。

它可能只是一个应用程序,但对其进行整理将需要时间和金钱,直到您找到它。

其他人可能会建议一些更好的方法,但这是要开始的。


有趣的主意,我将其插入并尝试一下。我只是假设数据可能仍未写入磁盘。
妮可

强烈建议采用另一种间接的方式来测量变化。而且,如果存储没有发生变化,则可以更可靠地将数据使用归因于错误或某些内容的流传输,而不是下载某些内容以永久使用该设备。
bmike

2

有几个应用程序可以帮助您跟踪应用程序数据使用情况:

  • NetStatData Usage的组合:前者将让您知道某个时间点的所有连接。后者声称可以与任何无线提供商合作,并且可以提供无线和WiFi数据使用情况报告。该应用程序还声称“ 通过检查自上次运行计数器以来的数据跟踪猪 ”。这些将有助于消除搜索的过程,从而有可能排除或阻止某些应用程序作为数据的用户。

  • Onavo在此处查看):提供iPhone数据的压缩,并按应用程序/类别生成有关数据使用量的报告。限制 -目前仅适用于美国用户的AT&T,无法压缩流视频。由于您的数据是通过Onavo的服务器路由的,因此也可能存在安全风险。

我也找到了这个清单了可能适合您需求的著名iOS数据跟踪应用程序。

警告:我还没有亲自使用这些应用程序,但是评论似乎很有希望。


我将研究Onavo,但似乎我并不真正希望压缩量能监测到的米数。也许没有仅用于计量的服务...
bmike

1

从iOS 7开始,您可以进入“设置”->“移动数据”,并查看所有应用程序的列表以及每个应用程序使用的数据量(自上次重置统计信息以来)。您也可以在同一位置按应用关闭移动数据。

如果看到无法解释的高移动数据使用率,请尝试在同一设置屏幕中禁用Wi-Fi Assist;即使手机具有Wi-Fi连接,它也可以认为您的手机使用的是移动数据,即使它认为该连接不符合标准。


0

我相信有些iPhone应用程序可让您记录和监视数据使用情况。我没有个人使用过,但是我做了一些谷歌搜索,发现为Mac 制作NetUse的人正计划为iPhone开发类似的应用程序。我也发现了这个话题,它本质上是在问同样的问题。也许那里有一些答案。

也许您可以在发布时使用它,或者在iPhone App Store上搜索以查看是否已经存在类似的东西:)


0

我建议您花几个小时来系统地逐一浏览您的应用程序。首先,退出所有应用程序。记下打开应用程序的时间和关闭应用程序的时间(当然,从多任务栏上将其删除)。重复下一个应用。当您看到AT&T的报告时,您应该能够从给定的时间判断哪个应用使用了网络。


这与8月份的提议有所不同吗?8月份的提议提出了一种消除过程,并试图通过测量不存在的方法来间接达到使用目的?apple.stackexchange.com/a/23017/5472
bmike

@bmike这与该答案的后半部分非常相似,但是对于使用该方法如何确定该结果却有些含糊。听起来好像他们认为只需从多任务栏中删除当前未使用的应用程序即可消除此问题。这很可能是对的,但这无助于找出哪个应用程序是罪魁祸首。
Timothy Mueller-Harder

0

我很惊讶没有提到它...但是请确保检查您的EMAIL设置。有多种选择...

  1. 推进?(更多带宽)
  2. 邮件预览设置?(更多带宽,我想)
  3. 加载图像?(更多带宽)
  4. 获取时间?(更低=更多带宽)
  5. 多个帐户?

并取决于您的日历/联系人设置,照片,更改频率……这些也可能会影响它。另外,您最近是否拥有iCloud或“发现我的iPhone”已打开...那肯定会影响您的使用次数。

虽然它可以忽略不计...您还可以打开和关闭非必需应用程序的通知。.消除问题的另一个(不太可能)来源。

我花了一个月时间在iPad上浏览-更改了积极的电子邮件检查设置,这对我来说已经解决了所有问题……但是,在发生这种情况后不久,我也尽可能将其设置为飞行模式/ wifi。我假设您正在使用蜂窝网络拨打电话(并非如此),所以预防措施可能是不适当的……但是,如果您需要做一些您需要做的事情以确保您不会过去..那是一个选择。


我比测量任意限制更担心测量发生的事情。我想知道这是邮件,不必一定要进行上次八月提到的淘汰过程。我确实很喜欢这个建议,它可能是邮件,但是我的手机没有设置为可推送,并且直到早晨我点击该图标都没有邮件被发送。(这不是原来的问题,所以没有办法知道:-)
bmike

我没有在原始问题中提到它,但是我可以肯定,发送的大量数据是在后台发生的。就像我提到的那样,这比以前的账单(相同的电话,相同的设置)有了巨大的增长,而标准应用程序的使用无法解决这一问题。
妮可

0

好吧,您可以关闭所有需要数据的应用程序,然后转到“设置”->“常规”->“网络”,然后将蜂窝数据开关关闭,以将其关闭。


1
我认为这里的想法是继续使用数据,但要确定哪些应用程序(无论是前台还是后台,系统还是第三方)正在使用总数据的哪一部分。一旦我们可以对其进行度量,就可以根据每种情况的不同选择使用更多或更少的方法。
bmike
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.