Відповіді:
Ось кілька пропозицій:
Для телефонів Android, будь-якої мережі : викорініть свій телефон, а потім встановіть на ньому tcpdump. Ця програма являє собою обгортку tcpdump, яка встановить tcpdump та дозволить запускати зйомки за допомогою графічного інтерфейсу. Порада: Вам потрібно переконатися, що ви вводите правильне ім'я інтерфейсу для зйомки, і це залежить від одного пристрою до іншого, наприклад -i eth0 або -i tiwlan0 - або використовуйте -i будь-який для реєстрації всіх інтерфейсів
Для телефонів Android 4.0+ : Android PCAP від Kismet використовує інтерфейс USB OTG для підтримки захоплення пакетів, не вимагаючи root. Я не пробував цю програму, і є деякі обмеження щодо типу підтримуваних пристроїв (див. Їх сторінку)
Для телефонів Android : tPacketCapture використовує сервіс Android VPN для перехоплення пакетів та захоплення їх. Я успішно використовував цю програму, але, здається, це також впливає на ефективність при великих обсягах трафіку (наприклад, потокове відео)
Для пристроїв IOS 5+ будь-яка мережа : iOS 5 додав інструмент віддаленого віртуального інтерфейсу (RVI) , який дозволяє використовувати програми для слідування пакетів Mac OS X для збору слідів з пристрою iOS. Дивіться тут для більш детальної інформації
Для всіх телефонів лише через Wi-Fi. Налаштуйте свій ПК як точку бездротового доступу , а потім запустіть провідну мережу на ПК
Для всіх телефонів лише Wi-Fi. Отримайте пристрій захоплення, який може нюхати Wi-Fi. Це має перевагу в тому, що ви також отримаєте заголовки 802.11x, але ви можете пропустити деякі пакети
Захоплення за допомогою VPN-сервера : досить легко налаштувати власний VPN-сервер за допомогою OpenVPN. Потім можна прокласти трафік через ваш сервер, встановивши мобільний пристрій як клієнт VPN та захопивши трафік на кінці сервера.
Окрім відмінної відповіді rupello, "брудна", але дуже ефективна хитрість:
Для всіх телефонів, будь-якої (локальної) мережі : налаштуйте свій ПК на Man-In-The-Middle свого мобільного пристрою.
Використовуйте Ettercap, щоб зробити підробку ARP між мобільним пристроєм та маршрутизатором, і весь трафік вашого мобільного телефону з’явиться у Wireshark. Детальні відомості про налаштування див. У цьому підручнику
Ще один варіант, який тут не пропонується, - запустити додаток, яке ви хочете контролювати, в емуляторі Android з Android SDK. Потім ви можете легко захопити трафік за допомогою проводки на одній машині.
Це був найпростіший варіант для мене.
Wireshark + OSX + iOS:
Чудовий огляд на даний момент, але якщо вам потрібні конкретні відомості про Wireshark + OSX + iOS:
rvictl -s x
де x
знаходиться UDID вашого пристрою iOS. Ви можете знайти UDID свого пристрою iOS через iTunes (переконайтеся, що ви використовуєте UDID, а не серійний номер).Capture->Options
, з'являється діалогове вікно, натисніть на рядок, rvi0
потім натисніть Start
кнопку.Тепер ви побачите весь мережевий трафік на пристрої iOS. Це може бути досить непосильним. Кілька покажчиків:
ip.addr==204.144.14.134
переглядає трафік з джерелом або адресою призначення 204.144.14.134http
переглядає лише http-трафікОсь зразкове вікно із зображенням TCP-трафіку для завантаження pdf з 204.144.14.134:
Для телефону Android я використовував tPacketCapture: https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.packetcapture&hl=uk
Цей додаток став рятувальником, я налагоджував проблему з відмовою від рукостискання SSL / TLS на моєму додатку Android. Намагався налаштувати спеціальну мережу, щоб я міг використовувати проводку на своєму ноутбуці. Мені це не вийшло. Цей додаток швидко дозволив мені захоплювати мережевий трафік, ділитися ним на своєму Диску Google, щоб я міг завантажити на свій ноутбук, де я міг би вивчити його за допомогою Wireshark! Дивовижний і не потрібен корінь!
У програмі Android Packet Capture реалізовано VPN, який реєструє весь мережевий трафік на пристрої Android. Вам не потрібно встановлювати жоден VPN / проксі-сервер на вашому ПК. Корінь не потребує. Підтримується розшифрування SSL, яке не має tPacketCapture. Він також включає хороший переглядач журналів.
Встановіть Fiddler на свій ПК та використовуйте його як проксі на своєму пристрої Android.
Джерело: http://www.cantoni.org/2013/11/06/capture-android-web-traffic-fiddler
Аналогічно зробити ваш ПК бездротовою точкою доступу, але це може бути набагато простіше, використовуючи зворотне прив’язання. Якщо у вас є телефон HTC, у них є гарний параметр зворотного прив'язування під назвою "Інтернет-пропуск" у налаштуваннях обміну мережею / мобільною мережею. Він спрямовує весь ваш трафік через ваш ПК, і ви можете просто запустити Wireshark там.
Зробіть свій ноутбук гарячою точкою wifi для свого телефону (будь-якого) та підключіть його до Інтернету. Sniff Traffic на вашому інтерфейсі Wi-Fi за допомогою wireshark.
ви дізнаєтесь про багато матеріалів щодо конфіденційності!
Передумови: adb і wireshark встановлені на вашому комп’ютері, і у вас є вкорінений Android-пристрій.
adb push ~/Downloads/tcpdump /sdcard/
adb shell
su root
mv /sdcard/tcpdump /data/local/
cd /data/local/
chmod +x tcpdump
./tcpdump -vv -i any -s 0 -w /sdcard/dump.pcap
CTRL+C
після того, як ви захопили достатню кількість пакетів.exit
exit
adb pull /sdcard/dump.pcap ~/Downloads/
Тепер ви можете відкрити файл pcap за допомогою Wireshark.
Для Android я раніше використовував tPacketCapture, але він не працював добре для програми, яка передає відео. Зараз я використовую Shark . Щоб користуватися ним, вам потрібно бути root .
Він використовує TCPDump (перевірте аргументи, які можна передати ) та створює файл pcap, який може прочитати Wireshark. Аргументи за замовчуванням зазвичай для мене досить хороші.
У мене була подібна проблема, яка надихнула мене розробити додаток, який міг би допомогти захопити трафік з пристрою Android. У додатку є SSH-сервер, який дозволяє здійснювати трафік у Wireshark на ходу ( компонент sshdump wireshark ). Оскільки програма використовує функцію ОС під назвою VPNService для збору трафіку, їй не потрібен кореневий доступ.
Додаток на початку бета-версії. Якщо у вас є якісь питання / пропозиції, не соромтеся повідомити мене.