Ответы:
Вот несколько предложений:
Для телефонов на базе Android: любая сеть : рутируйте свой телефон, затем установите на него tcpdump. Это приложение представляет собой оболочку tcpdump, которая установит tcpdump и позволит вам запускать захваты с помощью графического интерфейса. Совет: Вам необходимо убедиться, что вы указали правильное имя интерфейса для захвата, и оно варьируется от одного устройства к другому, например -i eth0 или -i tiwlan0 - или используйте -i any для регистрации всех интерфейсов.
Для телефонов Android 4.0+ : Android PCAP от Kismet использует интерфейс USB OTG для поддержки захвата пакетов без необходимости рута. Я не пробовал это приложение, и есть некоторые ограничения на тип поддерживаемых устройств (см. Их страницу)
Для телефонов Android : tPacketCapture использует службу Android VPN для перехвата пакетов и захвата их. Я успешно использовал это приложение, но оно также влияет на производительность при больших объемах трафика (например, потоковое видео)
Для устройств IOS 5+ в любой сети : в iOS 5 добавлено средство удаленного виртуального интерфейса (RVI) , которое позволяет использовать программы трассировки пакетов Mac OS X для захвата трассировок с устройства iOS. Смотрите здесь для более подробной информации
Для всех телефонов только Wi-Fi: настройте ПК в качестве беспроводной точки доступа , затем запустите wireshark на ПК
Для всех телефонов только Wi-Fi: получите устройство захвата, которое может прослушивать Wi-Fi. Это также дает преимущество, предоставляя вам заголовки 802.11x, но вы можете пропустить некоторые пакеты
Захват с использованием VPN-сервера : довольно легко настроить собственный VPN-сервер с использованием OpenVPN. Затем вы можете направить свой трафик через сервер, настроив мобильное устройство в качестве VPN-клиента и перехватывая трафик на стороне сервера.
В дополнение к отличному ответу Рупелло, «грязный», но очень эффективный трюк:
Для всех телефонов в любой (локальной) сети : настройте свой ПК на Man-In-The-Middle вашего мобильного устройства.
Используйте Ettercap для подмены ARP между вашим мобильным устройством и маршрутизатором, и весь трафик вашего мобильного телефона будет отображаться в Wireshark. Смотрите этот учебник для деталей настройки
Другой вариант, который здесь не был предложен, - запустить приложение, которое вы хотите отслеживать, в эмуляторе Android из Android SDK. Затем вы можете легко захватить трафик с помощью wireshark на той же машине.
Это был самый простой вариант для меня.
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=en.
Это приложение спасало меня. Я отлаживал проблему с ошибкой SSL / TLS-рукопожатия в моем приложении для Android. Попытался настроить специальную сеть, чтобы я мог использовать wireshark на моем ноутбуке. Это не сработало для меня. Это приложение быстро позволило мне захватывать сетевой трафик, делиться им на моем Google Диске, чтобы я мог загрузить на свой ноутбук, где я мог бы проверить его с помощью Wireshark! Круто и без рута требуется!
Приложение Packet Capture для Android реализует VPN, которая регистрирует весь сетевой трафик на устройстве Android. Вам не нужно настраивать VPN / прокси-сервер на вашем компьютере. Не нуждается в руте. Поддерживает дешифрование SSL, которого нет у tPacketCapture. Он также включает в себя хороший просмотрщик журнала.
Установите Fiddler на свой ПК и используйте его в качестве прокси на вашем Android-устройстве.
Источник: http://www.cantoni.org/2013/11/06/capture-android-web-traffic-fiddler
Подобно тому, как сделать ваш компьютер беспроводной точкой доступа, но это может быть намного проще, используется обратная привязка. Если у вас есть телефон HTC, в настройках общего доступа к сети / мобильной сети есть хорошая опция обратного модема, называемая «сквозной доступ в Интернет». Он направляет весь ваш трафик через ваш компьютер, и вы можете просто запустить Wireshark там.
Сделайте ваш ноутбук точкой доступа Wi-Fi для вашего телефона (любого) и подключите его к Интернету. 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, но он не работал для приложения, транслирующего видео. Я сейчас использую Акулу . Вы должны быть пользователем root, чтобы использовать его, хотя.
Он использует TCPDump (проверьте аргументы, которые вы можете передать ) и создает файл pcap, который может быть прочитан Wireshark. Аргументы по умолчанию обычно достаточно хороши для меня.
У меня была похожая проблема, которая вдохновила меня на разработку приложения, которое могло бы помочь захватывать трафик с устройства Android. Приложение имеет SSH-сервер, который позволяет вам получать трафик в Wireshark на лету ( компонент sshdump wireshark ). Поскольку приложение использует функцию ОС под названием VPNService для захвата трафика, оно не требует корневого доступа.
Приложение находится в ранней бета-версии. Если у вас есть какие-либо вопросы / предложения, не стесняйтесь, дайте мне знать.
Учебник, в котором вы можете прочитать дополнительные детали