Мониторинг исходящих запросов для изображений Xamarin [duplicate]

Программа для интерфейса позволяет легко изменять реализацию контракта, определяемого интерфейсом. Он позволяет свободно связываться между контрактом и конкретными реализациями.

IInterface classRef = new ObjectWhatever()

Вы можете использовать любой класс, который реализует IInterface? Когда вам это нужно?

blockquote>

Взгляните на этот вопрос SE на хорошем примере.

Почему должен быть предпочтительным интерфейс для класса Java?

использует ли производительность интерфейса?

if так сколько?

blockquote>

Да. В субсекундах он будет иметь незначительные эксплуатационные издержки. Но если ваше приложение требует динамического изменения интерфейса, не беспокойтесь о влиянии производительности.

как вы можете избежать этого, не имея необходимости поддерживать два бита кода?

blockquote>

Не пытайтесь избежать нескольких реализаций интерфейса, если ваше приложение нуждается в них , В отсутствие жесткой связи интерфейса с одной конкретной реализацией вам может потребоваться развернуть патч, чтобы изменить одну реализацию на другую реализацию.

Один хороший вариант использования: реализация шаблона стратегии:

Реальный мир Пример шаблона стратегии

53
задан Lucky 20 August 2015 в 05:56
поделиться

9 ответов

TCPDUMP является одним из моих любимых инструментов для анализа сети, но если вам сложно перекрестно скомпилировать tcpdump для android, я рекомендую вам использовать некоторые приложения с рынка.

Это приложения, о которых я говорил:

  • Shark: небольшая версия проводов для телефонов Android). Эта программа создаст * .pcap, и вы можете читать с файлом на ПК с помощью wirehark.
  • Shark Reader: эта программа позволяет вам читать * .pcap прямо на вашем телефоне Android.

Приложение Shark работает с корневыми устройствами, поэтому, если вы хотите его установить, убедитесь, что у вас уже установлено ваше устройство.

Удачи;)

22
ответ дан Martin Solac 20 August 2018 в 18:20
поделиться
  • 1
    Предоставьте прямую ссылку для загрузки предлагаемых инструментов. – Nabi K.A.Z. 6 November 2015 в 14:45
  • 2
    Являются ли эти инструменты по-прежнему лучшими инструментами прямо сейчас? – Saeed Amiri 8 November 2017 в 17:47

Вам нужно будет укоренить телефон и перекрестно скомпилировать tcpdump или использовать уже скомпилированную версию другого.

Возможно, вам будет легче выполнять эти эксперименты с эмулятором, и в этом случае вы можете сделать мониторинг от хостинга ПК. Если вы должны использовать реальное устройство, другой вариант заключается в том, чтобы поместить его в сеть Wi-Fi, висящую на дополнительном интерфейсе в ящике linux, на котором запущен tcpdump.

Я не знаю, с моей точки зрения как вы собираетесь фильтровать определенный процесс. Одно из предложений, которое я нашел в некотором быстром поисковом рассылке, - использовать strace на предметном процессе вместо tcpdump в системе.

2
ответ дан Chris Stratton 20 August 2018 в 18:20
поделиться

Общий подход заключается в вызове «cat / proc / net / netstat», как описано здесь:

Статистика сети Android

15
ответ дан Community 20 August 2018 в 18:20
поделиться
  • 1
    Это обеспечит список соединений, но не позволит контролировать сами данные. Вы также можете пропускать каналы без подключения к состоянию, если вы не поймаете их в нужный момент. Также использование exec на cat совершенно не нужно - просто прочитайте файл / proc / net / netstat & quot; в java. – Chris Stratton 25 February 2011 в 22:50
  • 2
    Я никогда не пробовал, поэтому не знал наверняка. Первый ответ утверждает, что он работает stackoverflow.com/questions/3394511/… – Peter Knego 25 February 2011 в 22:55

Инструмент DDMS, включенный в Android SDK, включает инструмент для мониторинга сетевого трафика. Он не предоставляет детали, которые вы получаете от tcpdump и подобных инструментов низкого уровня, но он по-прежнему очень полезен.

Официальная документация: http://developer.android.com/tools/ отладка / ddms.html # сеть

3
ответ дан emidander 20 August 2018 в 18:20
поделиться

Попробуйте это приложение https://play.google.com/store/apps/details?id=app.greyshirts.sslcapture

Мы можем просмотреть все сетевые сообщения. даже зашифрованные сообщения SSL.

0
ответ дан hkbharath 20 August 2018 в 18:20
поделиться

Без root вы можете использовать прокси-серверы отладки, такие как Charlesproxy & amp; Co.

2
ответ дан Megachip 20 August 2018 в 18:20
поделиться
  • 1
    Это правда, я использую Charlesproxy в течение длительного времени, и этот инструмент действительно крут. Он обеспечивает дросселирование и расшифровку SSL (с помощью пользовательского ключа). Но было бы намного лучше иметь этот инструмент в составе Android Studio. – Alexander Skvortsov 18 January 2017 в 15:16

Packet Capture - лучший инструмент для отслеживания сетевых данных на Android. Не требуется никакого корневого доступа и легко читать и сохранять вызовы на основе приложения. Проверьте этот вне

1
ответ дан Sai Prashanth R V 20 August 2018 в 18:20
поделиться

Примечание. tcpdump требует прав root, поэтому вам придется root-телефон, если он еще не сделан. Вот ARM binary tcpdump (это работает для моего Samsung Captivate). Если вы предпочитаете создавать свой собственный двоичный файл, инструкции здесь (да, вам, вероятно, придется перекрестно скомпилировать).

Также проверьте Shark For Root (инструмент захвата пакетов Android на основе tcpdump).

Я не верю, что tcpdump может отслеживать трафик по определенному идентификатору процесса. Метод strace , на который ссылается Крис Стреттон, кажется большим усилием, чем его ценность. Было бы проще контролировать определенные IP-адреса и порты, используемые целевым процессом. Если эта информация неизвестна, запишите весь трафик в течение периода активности процесса, а затем просеите полученный pcap с помощью Wireshark.

7
ответ дан user 20 August 2018 в 18:20
поделиться
15
ответ дан Community 31 October 2018 в 14:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: