После нескольких внимательных прочтений вашего вопроса что-то выделялось:
И помимо огромного количества 3G, этот телефон провел очень мало времени за пределами Wi-Fi.
Ваш iPhone, когда он находится в спящем режиме, отключает радио WiFi для экономии заряда батареи . Так что, если у вас есть приложения, требующие данных, которые работают в фоновом режиме, когда ваш телефон спит / заблокирован, они делают это через 3G. Обратите внимание, что поведение WiFi в выключенном состоянии несколько противоречиво. Но вы можете гарантировать, что 3G никогда не будет использоваться вашим телефоном, пока вы выполняете эти тесты, отключив сотовые данные. Таким образом, когда он спит, он будет продолжать использовать Wi-Fi, а не 3G для данных, и вы наверняка будете захватывать весь трафик в вашей сети мониторинга.
Вы можете объединить некоторые технологии, которые могут помочь вам найти виновника.
В качестве быстрого первого шага вы можете попробовать контролировать телефон, когда он находится в сети Wi-Fi, используя mitmproxy. Из этого отличного сообщения в блоге mclov.in вы можете настроить прокси для своего телефона на своем Mac и фильтровать весь трафик http / s через него:
- Загрузите инструмент mitmproxy и настройте его, перейдя в папку mitmproxy и запустив sudo python setup.py install. Если все идет хорошо, mitmproxy должен быть доступен в вашем $ PATH.
- Запустите mitmproxy, запустив mitmproxy.
- Получите IP-адрес вашего компьютера, запустив ifconfig en1 (или любой другой интерфейс, который вы используете).
- Установите прокси на своем iPhone, перейдя в настройки беспроводной сети, установив прокси «Ручной», и установите в качестве IP-адреса IP-адрес вашего компьютера и порт 8080.
Если вы установите mitmproxy для записи вызовов http / s в файл, вы можете проанализировать его через некоторое время и найти тренды. Вы также сможете проверить полезную нагрузку на вызовы http / s, чтобы таким образом вы могли обнаружить необычно большие запросы.
Конечно, этот подход предполагает, что виновник использует http / s для связи. Если это не так, вы не увидите проблему через mitmproxy, и вам придется прибегнуть к решению более низкого уровня.
Вам необходимо отслеживать весь трафик в сети Wi-Fi, которой вы управляете, чтобы помочь вам найти хотя бы конечные точки для передачи данных. Мониторинг полосы пропускания не сложен в настройке, но ведение журнала для каждого IP-адреса и для каждой конечной точки действительно сложно сделать на оборудовании потребительского уровня, поскольку он может представлять собой ОГРОМНОЕ количество данных. Каждый пакет должен проверяться на предмет происхождения, назначения, регистрироваться на время и размер - он складывается очень быстро.
Но вы можете получить несколько приличных чисел и сузить область поиска, чтобы это было чем-то, что может быть проанализировано человеком.
Во-первых: вам нужно настроить сеть с мониторингом пропускной способности на уровне отдельных IP-адресов. Для этого я рекомендую беспроводной маршрутизатор Linksys WRT54GL потребительского уровня, работающий под управлением Tomato, и дополнение TeamanIPTraffic для отслеживания пропускной способности на уровне IP.
Второе: настройте DNS на маршрутизаторе для использования OpenDNS . В вашей учетной записи OpenDNS для отслеживания поиска DNS:
- Войдите на https://dashboard.opendns.com/
- Нажмите на вкладку «Настройки»
- Нажмите на IP-адрес для сети, связанной с вашим маршрутизатором
- Нажмите «Статистика и журналы» на левой стороне
- Убедитесь, что установлен флажок «Включить статистику и журналы», и нажмите кнопку «Применить».
Теперь любые DNS-запросы, выполненные в вашей сети, будут регистрироваться.
Назначьте вашему телефону статический IP-адрес в этой сети, чтобы его было легче отслеживать.
И ... подожди и смотри.
Вы собираетесь отслеживать активность для IP-адреса, назначенного вашему телефону, в таблицах активности вашего роутера. Когда активность данных для этого IP-адреса возрастает, вы переходите на консоль OpenDNS и просматриваете статистику и журналы поиска DNS за период времени, когда перемещение данных было высоким для вашего телефона.
Это должно дать короткий список [sic] имен хостов, которые были разрешены в то время. И вооружившись этим списком, вы можете сузить его до приложения.