# Как происходит перехват трафика http/https для мобильных устройств?

Перехват трафика HTTP/HTTPS с мобильного устройства используется для **тестирования API, отладки сетевых запросов и анализа данных**. Это делается с помощью прокси-сервера или снифферов, которые позволяют видеть запросы и ответы между приложением и сервером.

***

### **1. HTTP-трафик**

* **HTTP** не шифруется, поэтому перехват прост:
  1. Настроить мобильное устройство на использование прокси (например, Charles, Fiddler, mitmproxy).
  2. Все HTTP-запросы проходят через прокси и могут быть перехвачены и проанализированы.

***

### **2. HTTPS-трафик**

* **HTTPS** шифруется, поэтому нужно **обойти TLS/SSL шифрование**:
  1. Установить **корневой сертификат прокси-сервера** на мобильное устройство.
     * Charles, Fiddler, mitmproxy предоставляют такой сертификат.
     * Сертификат доверяется устройству, чтобы прокси мог расшифровывать трафик.
  2. Настроить устройство на использование прокси.
  3. Прокси расшифровывает запросы и ответы, показывая их в читаемом виде.
* **Ограничения:**
  * Некоторые приложения используют **certificate pinning**, проверяя сертификат сервера. В этом случае трафик нельзя перехватить обычным прокси.
  * Для обхода используют **инструменты для обхода pinning** или модификацию приложения на тестовом билде.

***

### **3. Прокси и инструменты**

* **Charles Proxy** — GUI-инструмент, поддерживает Android и iOS.
* **Fiddler** — аналог Charles, для Windows и Mac.
* **mitmproxy** — консольный инструмент с возможностью скриптинга.
* **Wireshark** — низкоуровневый анализатор трафика (только HTTP, HTTPS через расшифровку при наличии сертификата).

***

### **4. Настройка мобильного устройства**

1. Подключение к той же сети Wi-Fi, что и прокси.
2. Указание прокси-сервера в настройках сети.
3. (Для HTTPS) Установка корневого сертификата прокси.

***

### **5. Этапы перехвата**

```
Мобильное приложение → прокси-сервер → интернет
```

* Прокси перехватывает все HTTP/HTTPS запросы и ответы.
* Можно смотреть:
  * Заголовки запросов и ответов.
  * Тело (payload) JSON/XML.
  * Коды ответов и ошибки.

***

Итог: **перехват трафика HTTP/HTTPS мобильного устройства делается через прокси-сервер**, с установкой корневого сертификата для HTTPS, что позволяет тестировщику видеть запросы, ответы и ошибки, используемые приложением.
