Захват трафика мобильного телефона на Wireshark

Ответы:

350

Вот несколько предложений:

  1. Для телефонов на базе Android: любая сеть : рутируйте свой телефон, затем установите на него tcpdump. Это приложение представляет собой оболочку tcpdump, которая установит tcpdump и позволит вам запускать захваты с помощью графического интерфейса. Совет: Вам необходимо убедиться, что вы указали правильное имя интерфейса для захвата, и оно варьируется от одного устройства к другому, например -i eth0 или -i tiwlan0 - или используйте -i any для регистрации всех интерфейсов.

  2. Для телефонов Android 4.0+ : Android PCAP от Kismet использует интерфейс USB OTG для поддержки захвата пакетов без необходимости рута. Я не пробовал это приложение, и есть некоторые ограничения на тип поддерживаемых устройств (см. Их страницу)

  3. Для телефонов Android : tPacketCapture использует службу Android VPN для перехвата пакетов и захвата их. Я успешно использовал это приложение, но оно также влияет на производительность при больших объемах трафика (например, потоковое видео)

  4. Для устройств IOS 5+ в любой сети : в iOS 5 добавлено средство удаленного виртуального интерфейса (RVI) , которое позволяет использовать программы трассировки пакетов Mac OS X для захвата трассировок с устройства iOS. Смотрите здесь для более подробной информации

  5. Для всех телефонов только Wi-Fi: настройте ПК в качестве беспроводной точки доступа , затем запустите wireshark на ПК

  6. Для всех телефонов только Wi-Fi: получите устройство захвата, которое может прослушивать Wi-Fi. Это также дает преимущество, предоставляя вам заголовки 802.11x, но вы можете пропустить некоторые пакеты

  7. Захват с использованием VPN-сервера : довольно легко настроить собственный VPN-сервер с использованием OpenVPN. Затем вы можете направить свой трафик через сервер, настроив мобильное устройство в качестве VPN-клиента и перехватывая трафик на стороне сервера.

rupello
источник
1
Если вы заинтересованы в настройке мошеннической точки доступа в Windows 7 и выше и перехвате пакетов с помощью Wireshark, ознакомьтесь с шагами, которые я собрал на mohit.io/blog/… Это будет работать для любого устройства, поддерживающего WiFi (Android) , iOS, Wii, XBox и т. д.)
mohit
2
Что касается варианта 2: это практически несуществующий вариант. С их страницы: «Вам понадобится [...] и беспроводной сетевой адаптер на основе RTL8187» !!!!
Маттео
1
Для меня вариант № 3 является самым простым для выполнения простых задач, таких как проверка того, что вызывает определенное приложение.
августа
1
Большинство из них не работают для пакетов, которые никогда не покидают устройство или если вы уже используете VPN. Так что они бесполезны для решения проблем MTU / фрагментации.
Evi1M4chine
1
Что если я хочу сделать наоборот? Использовать смартфон, подключенный через USB, для захвата пакетов моего ПК? В основном запускаю программное обеспечение, похожее на
проволочную
40

В дополнение к отличному ответу Рупелло, «грязный», но очень эффективный трюк:

Для всех телефонов в любой (локальной) сети : настройте свой ПК на Man-In-The-Middle вашего мобильного устройства.

Используйте Ettercap для подмены ARP между вашим мобильным устройством и маршрутизатором, и весь трафик вашего мобильного телефона будет отображаться в Wireshark. Смотрите этот учебник для деталей настройки

minipif
источник
3
Вы также можете использовать прокси Charles в Mac OS, для захвата HTTP-трафика, у него очень приятный интерфейс и функциональные возможности. Вам необходимо настроить локальный IP-адрес вашего компьютера, на котором есть прокси-сервер. Он также может прослушивать TLS-трафик и делать это без предупреждения, если вы устанавливаете сертификат Чарльза на телефоне.
Minipif
28

Другой вариант, который здесь не был предложен, - запустить приложение, которое вы хотите отслеживать, в эмуляторе Android из Android SDK. Затем вы можете легко захватить трафик с помощью wireshark на той же машине.

Это был самый простой вариант для меня.

MazeChaZer
источник
1
Это интересный вариант. Может ли он обрабатывать ssl-пакеты?
ransh
22

Wireshark + OSX + iOS:

Отличный обзор, но если вам нужны особенности для Wireshark + OSX + iOS:

  • установите Wireshark на свой компьютер
  • подключите устройство iOS к компьютеру через USB-кабель
  • подключите устройство iOS и компьютер к одной сети WiFi
  • выполните эту команду в окне терминала OSX: rvictl -s xгде xнаходится UDID вашего устройства iOS. Вы можете найти UDID вашего устройства iOS через iTunes (убедитесь, что вы используете UDID, а не серийный номер).
  • Перейти к Wireshark Capture->Options, появится диалоговое окно, нажмите на строку, rvi0затем нажмите Startкнопку.

Диалоговое окно «Параметры захвата Wireshark»

Теперь вы увидите весь сетевой трафик на устройстве iOS. Это может быть довольно подавляющим. Пара указателей:

  • не используйте iOS с VPN, вы не сможете разобраться в зашифрованном трафике
  • использовать простые фильтры, чтобы сосредоточиться на интересном трафике
  • ip.addr==204.144.14.134 просматривает трафик с адресом источника или назначения 204.144.14.134
  • http только просмотр http трафика

Вот пример окна, отображающего трафик TCP для загрузки в формате pdf с 204.144.14.134:

Wireshark TCP трафик для pdf скачать с 204.144.14.134

drbobdugan
источник
9

Для телефона Android я использовал tPacketCapture: https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.packetcapture&hl=en.

Это приложение спасало меня. Я отлаживал проблему с ошибкой SSL / TLS-рукопожатия в моем приложении для Android. Попытался настроить специальную сеть, чтобы я мог использовать wireshark на моем ноутбуке. Это не сработало для меня. Это приложение быстро позволило мне захватывать сетевой трафик, делиться им на моем Google Диске, чтобы я мог загрузить на свой ноутбук, где я мог бы проверить его с помощью Wireshark! Круто и без рута требуется!

Фаррух Наджми
источник
Не будет работать, если ваши проблемы возникают только при использовании VPN (и никогда не заканчиваются на концентраторе / маршрутизаторе).
Evi1M4chine
8

Приложение Packet Capture для Android реализует VPN, которая регистрирует весь сетевой трафик на устройстве Android. Вам не нужно настраивать VPN / прокси-сервер на вашем компьютере. Не нуждается в руте. Поддерживает дешифрование SSL, которого нет у tPacketCapture. Он также включает в себя хороший просмотрщик журнала.

Акира Ямамото
источник
Этот VPN не работает ... ни одна страница не открывается или данные не извлекаются ... имея этот VPN, все равно что не иметь подключения к Интернету ...
Himanshu Bansal
4

Подобно тому, как сделать ваш компьютер беспроводной точкой доступа, но это может быть намного проще, используется обратная привязка. Если у вас есть телефон HTC, в настройках общего доступа к сети / мобильной сети есть хорошая опция обратного модема, называемая «сквозной доступ в Интернет». Он направляет весь ваш трафик через ваш компьютер, и вы можете просто запустить Wireshark там.

Питер Джеффе
источник
2

Сделайте ваш ноутбук точкой доступа Wi-Fi для вашего телефона (любого) и подключите его к Интернету. Sniff Traffic на вашем интерфейсе Wi-Fi, используя Wireshark.

Вы узнаете много анти-частной жизни!

FireCruZ
источник
6
Можете ли вы более конкретно рассказать, как это сделать хотя бы на одной платформе (Windows, Linux или Mac OS X)?
Александр Маркондес
2

Предварительные условия: на вашем компьютере установлены adb и wireshark, и у вас есть рутированное устройство Android.

  1. Загрузите tcpdump в ~ / Загрузки
  2. adb push ~/Downloads/tcpdump /sdcard/
  3. adb shell
  4. su root
  5. mv /sdcard/tcpdump /data/local/
  6. cd /data/local/
  7. chmod +x tcpdump
  8. ./tcpdump -vv -i any -s 0 -w /sdcard/dump.pcap
  9. CTRL+C после того, как вы захватили достаточно пакетов.
  10. exit
  11. exit
  12. adb pull /sdcard/dump.pcap ~/Downloads/

Теперь вы можете открыть файл pcap с помощью Wireshark.

AtomicBoolean
источник
1

Для Android я ранее использовал tPacketCapture, но он не работал для приложения, транслирующего видео. Я сейчас использую Акулу . Вы должны быть пользователем root, чтобы использовать его, хотя.

Он использует TCPDump (проверьте аргументы, которые вы можете передать ) и создает файл pcap, который может быть прочитан Wireshark. Аргументы по умолчанию обычно достаточно хороши для меня.

user276648
источник
1
Акула больше не доступна в Google Play.
not2qubit
Действительно, похоже, что оно было удалено. Сайт swapper.n3o.lv также, похоже, больше не держит apks.
user276648
0

У меня была похожая проблема, которая вдохновила меня на разработку приложения, которое могло бы помочь захватывать трафик с устройства Android. Приложение имеет SSH-сервер, который позволяет вам получать трафик в Wireshark на лету ( компонент sshdump wireshark ). Поскольку приложение использует функцию ОС под названием VPNService для захвата трафика, оно не требует корневого доступа.

Приложение находится в ранней бета-версии. Если у вас есть какие-либо вопросы / предложения, не стесняйтесь, дайте мне знать.

Скачать из игры

Учебник, в котором вы можете прочитать дополнительные детали

Андрей Егоров
источник