Подробное объяснение и практическое руководство по инструменту захвата сетевых пакетов Charles.
Подробное объяснение и практическое руководство по инструменту захвата сетевых пакетов Charles.

Введение

  • Узнайте об инструментах захвата сетевых пакетов Charles из Основные принципыи Основные функции, а также варианты использования общих функций.

Версия программного обеспечения

  • Charles 4.6.4

Charles

  • Charles находится в PC Обычно используемые инструменты захвата сетевых пакетов на мобильных терминалах могут быть более доступны разработчикам мобильных терминалов. Используйте инструменты разработки браузера или Postman В принципе, это может удовлетворить наши потребности в развитии, но Charles Как популярный инструмент для захвата сетевых пакетов, он имеет некоторые расширенные функции, такие как Запросить. повторную отправку、запросить точку останова、Ограничение скорости интернета、Подмена DNS、Динамическое переписывание запроса、Ограничения списка запросов и т. д.,В некоторых сценариях это может помочь нам более эффективно завершить работу по разработке.

Основные принципы

  • Чарльз реализует перехват и анализ сетевых пакетов, устанавливая себя в качестве прокси-сервера доступа к сети системы, чтобы все запросы доступа к сети выполнялись через него.

Основные функции

  • HTTP & HTTPS Захват сетевых пакетов (ПК, Интернет, мобильный телефон)
  • Изменение сетевого запроса, динамическое изменение, повторная отправка, повторная отправка правил и т. д.
  • Подмена DNS, симуляция скорости сети, белый и черный список запросов на поддержку и т. д.
  • Поддержка Mac, Win, Linux.

Загрузите и установите

  • Загрузите и сделать относительно просто, в Charles Загрузите последнюю версию с официального сайта, установите ее напрямую и воспользуйтесь веб-сайтом онлайн-активации, указанным ниже, чтобы сгенерировать код активации для активации.
  • Официальный адрес сайта:https://www.charlesproxy.com/documentation/welcome/
  • Код активации онлайнгенерировать:https://www.zzzmode.com/mytools/charles/

Знакомство с интерфейсом

Отображение сетевого пакета

  • Чарльз в основном предоставляет два представления для просмотра сетевых пакетов: «Структура» и «Последовательность». Структура: в этом представлении сетевые запросы классифицируются по посещенному имени домена. Последовательность: в этом представлении сетевые запросы сортируются по времени доступа.

Введение в распространенные сценарии

  • Charles имеет множество функций. В этой статье в основном представлены некоторые распространенные сценарии использования.

Захват сетевых пакетов ПК

  • Проверить прокси |
  • Откройте Charles в состоянии «Начать запись».
  • После завершения вышеуказанной операции откройте браузер и вы обнаружите, что сетевой запрос не был перехвачен. Это связано с тем, что прокси-сервер браузера не настроен. Прокси-сервер, запущенный Чарльзом, показан на рисунке ниже. настроить его в настройках Windows, вы также можете использовать плагины браузера для настройки. В этой статье демонстрируется настройка с помощью плагина прокси-сервера Chrome SwitchyOmega:

Захват пакетов мобильной сети

  • ++Обязательное условие: ПК и мобильные терминалы должны находиться в одной сети++
Конфигурация на стороне ПК
  • Включить функцию прокси-сервера Charles, настройка прокси-сервера. Включить прозрачное HTTP-прокси.
  • Откройте Charles в состоянии «Начать запись».
Конфигурация мобильного терминала
  • Проверьте 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 для версии для ПК)
Корпоративный WeChat скриншот_16899291019742.png
Корпоративный WeChat скриншот_16899291019742.png
  • После настройки вышеуказанных функций вы можете видеть обычные запросы, как указано выше, и успешно выполнять отладку.

Общие операции

Запросить повторную отправку
  • Повторно отправьте запрос.
Запросить перезапись, динамическую перезапись
  • Измените исходный запрос и отправьте его повторно; измените заголовок или тело запроса в соответствии с запросом на соответствие динамическим правилам.
Настройки точки останова
  • Точки останова могут быть установлены до того, как клиент запрашивает услугу и при ответе.
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.

🌐 Я поощряю взаимодействие и создание сообщества, поэтому, пожалуйста, оставляйте свои вопросы, предложения или запросы по темам и дайте мне знать, что вас интересует. Кроме того, я буду делиться последними новостями Интернета и технологий, чтобы вы всегда были в курсе последних событий в мире технологий. Я с нетерпением жду возможности вместе с вами двигаться вперед по пути технологий и исследовать безграничные возможности мира технологий.

📖 Следите за обновлениями моего блога и давайте вместе стремиться к техническому совершенству.

я участвуюНа третьем этапе специального тренировочного лагеря Tencent Technology Creation 2023 года будет проводиться конкурс сочинений. Соберите команду, чтобы выиграть приз!

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода