Настройка Charles proxy в Linux Ubuntu и Mint
Всех приветствую! Так как информации на эту тему в русскоязычном интернете мало, решил написать эту небольшую статью — инструкцию по настройке такого инструмента, как Charles proxy в Linux Ubuntu и Linux Mint. Скриншоты ко всем основным действиям были сделаны в Mint, но все для Ubuntu шаги настройки будут аналогичными. Первое, что необходимо сделать, это конечно же, установить сам инструмент, Инструкция есть на официальном сайте, просто последовательно выполните в терминале приведенные в ней команды. Теперь можем перейти к настройке, для начала настроим системный прокси-сервер. Для этого:
- Перейдите в настройки -> Сеть -> Сетевой прокси
- Установите настройки, как это сделано на рисунке - 1(HTTP прокси - 127.0.0.1 порт - 8888, HTTPS прокси - 127.0.0.1 порт - 8888, Socks узел - 127.0.0.1 порт - 8888):
Системный прокси настроен, теперь можно перейти в сам Charles. Обратите внимание, трафик уже сниффится, однако мы получаем на вывод вот такое сообщение(см. Рисунок - 2):
Чтобы от него избавиться, выполните следующие шаги:
- Перейти Proxy(В шапке приложения) -> SSL Proxying Settings
- Поставить галочку у текста "Enable SSL Proxying"
- Нажать кнопку "Add" в блоке "Include"(см. Рисунок - 3):
- Выставить параметры, как на Рисунке - 4 (хост - *, порт - *):
Теперь наш текст о SSL Proxying несколько изменился(см. Рисунок - 5), сообщение говорит о том, что необходимо добавить доверенный корневой сертификат:
Для того, чтобы добавить корневой сертификат:
- Нажмите Help -> SSL Proxying -> Save Charles Root Certificate(см. Рисунок - 6)
- Сохраните сертификат в любую папку(Например я сохраняю в домашнюю с расширением .cer), как на Рисунке - 7
После того, как сертификат был сохранен, его необходимо сделать доверенным, для этого:
- Откройте терминал
- Пропишите команду sudo cp путь_к_сертификату /usr/local/share/ca-certificates/(На Рисунке - 8, я выполняю команду из той директории, в которой у меня лежит сертификат, команда cp выполнит копирование файла в указанную в качестве второго параметра директорию).
- После выполните команду sudo update-ca-certificates
Теперь Charles будет работать в приложениях, которые используют системное хранилище доверенных сертификатов. Веб-браузеры, такие как Firefox и Google Chrome имеют собственные хранилища сертификатов и не используют хранилище системы, поэтому в каждом браузере нужно импортировать сертификаты отдельно. Иначе вам будет выводится такая ошибка:
Чтобы её избежать, экспортируйте центр сертификации в ваш браузер, для этого:
- Перейдите в настройки браузера
- Найдите там "Управление сертификатами" или "Настроить сертификаты" для Firefox и Chrome соответственно
- В меню настройки сертификатов(см. Рисунок - 10) нажмите кнопку "Импортировать"
- Выберите ваш сертификат. Путь к нему будет: Другие места/usr/local/share/ca-certificates.(см. Рисунок - 11)
- Выберите ваш сертификат
- Нажмите кнопку Импорта
- Установите необходимые разрешения(см. Рисунок - 12)
Теперь Charles будет сниффить трафик! Надеюсь статья оказалась полезной. Всем спасибо за внимание!
Ссылки на использованные материалы: