Подробное объяснение и практическое руководство по инструменту захвата сетевых пакетов Charles.
Подробное объяснение и практическое руководство по инструменту захвата сетевых пакетов Charles.
Введение
Узнайте об инструментах захвата сетевых пакетов Charles из Основные принципыи Основные функции, а также варианты использования общих функций.
Версия программного обеспечения
Charles 4.6.4
Charles
Charles находится в PC Обычно используемые инструменты захвата сетевых пакетов на мобильных терминалах могут быть более доступны разработчикам мобильных терминалов. Используйте инструменты разработки браузера или Postman В принципе, это может удовлетворить наши потребности в развитии, но Charles Как популярный инструмент для захвата сетевых пакетов, он имеет некоторые расширенные функции, такие как Запросить. повторную отправку、запросить точку останова、Ограничение скорости интернета、Подмена DNS、Динамическое переписывание запроса、Ограничения списка запросов и т. д.,В некоторых сценариях это может помочь нам более эффективно завершить работу по разработке.
Основные принципы
Чарльз реализует перехват и анализ сетевых пакетов, устанавливая себя в качестве прокси-сервера доступа к сети системы, чтобы все запросы доступа к сети выполнялись через него.
Изменение сетевого запроса, динамическое изменение, повторная отправка, повторная отправка правил и т. д.
Подмена DNS, симуляция скорости сети, белый и черный список запросов на поддержку и т. д.
Поддержка Mac, Win, Linux.
Загрузите и установите
Загрузите и сделать относительно просто, в Charles Загрузите последнюю версию с официального сайта, установите ее напрямую и воспользуйтесь веб-сайтом онлайн-активации, указанным ниже, чтобы сгенерировать код активации для активации.
Чарльз в основном предоставляет два представления для просмотра сетевых пакетов: «Структура» и «Последовательность». Структура: в этом представлении сетевые запросы классифицируются по посещенному имени домена.
Последовательность: в этом представлении сетевые запросы сортируются по времени доступа.
Введение в распространенные сценарии
Charles имеет множество функций. В этой статье в основном представлены некоторые распространенные сценарии использования.
Захват сетевых пакетов ПК
Проверить прокси |
Откройте Charles в состоянии «Начать запись».
После завершения вышеуказанной операции откройте браузер и вы обнаружите, что сетевой запрос не был перехвачен. Это связано с тем, что прокси-сервер браузера не настроен. Прокси-сервер, запущенный Чарльзом, показан на рисунке ниже. настроить его в настройках Windows, вы также можете использовать плагины браузера для настройки. В этой статье демонстрируется настройка с помощью плагина прокси-сервера Chrome SwitchyOmega:
Захват пакетов мобильной сети
++Обязательное условие: ПК и мобильные терминалы должны находиться в одной сети++
Проверьте IP-адрес машины через главное меню Чарльза «Справка | Локальный IP-адрес» или введите ipconfig с помощью инструмента командной строки.
Откройте настройки прокси-сервера WIFI на мобильном телефоне и введите IP-адрес ПК и порт прокси-сервера Чарльза.
После выполнения вышеуказанных шагов откройте мобильный браузер, чтобы инициировать запрос. Когда у Чарльза появится всплывающее окно с подтверждением подключения запроса мобильного телефона, нажмите «Разрешить», и Чарльз сможет перехватить сетевой запрос.
Включить SSL-прокси
После выполнения всех вышеперечисленных шагов,Нажмите, чтобы инициировать запрос,Было обнаружено, что содержание запроса было искажено.,на самом деле Это потому что нет Вwitch SSL-прокси, зачем это? Ответ: Угадай + Понимание может быть не совсем верным
Это потому что нет Вwitch SSL-прокси, Чарльз Он просто пересылает запросы от клиента и сервера и не может расшифровать соединение между клиентом и сервером. SSL содержание общения.
включать SSL Позже Чарльз Устанавливается отдельно с клиентом и сервером SSL ссылку и может расшифровать содержание сообщения.
поэтому,Включить Требуется после SSL-прокси Charles генерировать CA сертификат и установите его.
Установка сертификата CA для ПК и мобильных устройств
Чарльз устанавливает напрямую
Установите сертификат Charles на компьютер: Установите сертификат через главное меню Charles. SSL-прокси | Установите корневой сертификат Charles.
Настройте прокси-сервер SSL: откройте всплывающее окно «Прокси | Настройки прокси-сервера SSL» в главном меню и установите флажок «Включить прокси-сервер SSL».
Установите сертификат Charles на мобильный терминал: Установите сертификат через главное меню Charles. SSL-прокси | Установите корневой сертификат Charles на мобильном устройстве или в удаленном браузере.
Чарльз Загрузите файл CA и установите его вручную.
Справка | SSL-прокси | сохранить корневой сертификат Charles (выберите .pem для мобильной версии, .crt для версии для ПК)
После настройки вышеуказанных функций вы можете видеть обычные запросы, как указано выше, и успешно выполнять отладку.
Общие операции
Запросить повторную отправку
Повторно отправьте запрос.
Запросить перезапись, динамическую перезапись
Измените исходный запрос и отправьте его повторно; измените заголовок или тело запроса в соответствии с запросом на соответствие динамическим правилам.
Настройки точки останова
Точки останова могут быть установлены до того, как клиент запрашивает услугу и при ответе.
DNS-спуфинг
Когда DNS разрешается через Charles, для разрешения будет использоваться настроенный нами DNS.
Настройки дроссельной заслонки (симуляция скорости сети)
Имитируйте скорость восходящего и нисходящего потока сети.
Сертификат не может вступить в силу после его установки на мобильный телефон. Перезапустите Чарльза.
После Android 7.0 (API 24) были внесены изменения для повышения безопасности системы, в результате чего приложение по умолчанию не доверяло сертификату домена пользователя и требовало, чтобы root поместил сертификат в системный сертификат.
Обратите внимание на место хранения сертификата CA на стороне ПК.
SSL После настройки сертификата его по-прежнему невозможно получить нормально (дисплей неизвестно), подтвердите, было ли оно настроено нуждатьсявключать HTTPS Доменное имя и порт прокси-сервера
Профиль
👋 привет, я Lorin Лорейн, один Java назадконецразработчик технологий!девиз:Technology has the power to make the world a better place.
🚀 Моя страсть к технологиям — моя мотивация продолжать учиться и делиться ими. Мой блог — это место об экосистеме Java, серверной разработке и последних технологических тенденциях.
🧠 Будучи энтузиастом серверных технологий Java, я не только с энтузиазмом изучаю новые возможности языка и глубину технологий, но также с энтузиазмом делюсь своими идеями и передовым опытом. Я верю, что обмен знаниями и сотрудничество с сообществом могут помочь нам расти вместе.
💡 В моем блоге вы найдете подробные статьи об основных концепциях Java, базовой технологии JVM, часто используемых платформах, таких как Spring и Mybatis, управлении базами данных, таких как MySQL, промежуточном программном обеспечении для обработки сообщений, таком как RabbitMQ, Rocketmq и т. д., оптимизации производительности, и т. д. Я также поделюсь некоторыми советами по программированию и методами решения проблем, которые помогут вам лучше освоить программирование на Java.
🌐 Я поощряю взаимодействие и создание сообщества, поэтому, пожалуйста, оставляйте свои вопросы, предложения или запросы по темам и дайте мне знать, что вас интересует. Кроме того, я буду делиться последними новостями Интернета и технологий, чтобы вы всегда были в курсе последних событий в мире технологий. Я с нетерпением жду возможности вместе с вами двигаться вперед по пути технологий и исследовать безграничные возможности мира технологий.
📖 Следите за обновлениями моего блога и давайте вместе стремиться к техническому совершенству.