Я хотел бы получать захваты трафика данных на уровне пакетов (.pcap) в Android в течение недели (в нескольких файлах, если это возможно).
Я думал, что смогу использовать tcpdump через Shark, однако обнаружил, что захват через некоторое время останавливается. Самый большой пакет захвата, который я получил, составляет около 40 МБ. Я обнаружил, что tcpdump останавливается / падает при смене сетевого интерфейса. Например, когда телефон подключен к 3G, когда я запускаю tcpdump из Shark, я вижу процесс запуска tcpdump, пока я не включу WiFi.
В Galaxy S2 при подключении через WiFi у меня есть следующие интерфейсы (полученные с помощью netcfg в оболочке adb): lo, svnet0, usb0, sit0, eth0. Когда я подключаюсь через 3G, я получаю pdp0 вместо eth0.
Есть ли способ запустить tcpdump 24/7? Или любой способ проверить, когда он работает и останавливается ли он, чтобы он снова запускался из приложения Java? Проверка процесса tcpdump или что-то подобное может быть? Или мониторинг состояния сети и запуск tcpdump при каждом изменении сети?
Я посмотрел на: ReadLine в TCPDump-Buffer иногда блокируется до kill tcpdump , но это не полностью решает мою проблему.
Я использую рутированные устройства.