1. Как устроены сети: модели OSI/TCP-IP и движение пакета
Как устроены сети: модели OSI/TCP-IP и движение пакета
Сети в пентесте — это не дополнительная тема, а фундамент. Сканирование портов, перехват трафика, анализ логов, поиск уязвимых сервисов, обход сегментации — всё это упирается в понимание: на каком уровне модели происходит событие и что именно путешествует по сети.
В этой статье разберём:
!Сопоставление OSI и TCP/IP с примерами протоколов и устройств
Зачем вообще нужны модели (и почему их две)
Модель — это способ описать сеть слоями, чтобы не путать разные типы задач.
В пентесте модели помогают быстро отвечать на вопросы:
Модель OSI простыми словами
Ниже — уровни OSI сверху вниз. Важно: верхние уровни ближе к приложениям, нижние — ближе к “железу”.
| Уровень OSI | Что делает | Примеры протоколов/данных | Что часто смотрит пентестер | |---|---|---|---| | Прикладной | Логика приложений и форматы запросов | HTTP, DNS, SMTP | заголовки, параметры, API, DNS-записи | | Представления | Представление данных: шифрование/кодировки/сжатие | TLS, UTF-8, JSON | версия TLS, сертификаты, шифры | | Сеансовый | Управление сеансом взаимодействия | (часто “растворён” в TLS/приложениях) | авторизация, длительные сессии | | Транспортный | Доставка между процессами (порты), надёжность | TCP, UDP | порты, флаги TCP, потери, RST | | Сетевой | Доставка между хостами (IP-адреса), маршрутизация | IPv4/IPv6, ICMP | маршруты, TTL, доступность, фильтрация | | Канальный | Доставка внутри одного канала/сегмента (MAC), кадры | Ethernet, Wi‑Fi (802.11), ARP | ARP-таблицы, VLAN, MAC-адреса | | Физический | Биты по среде передачи | кабель, радиоканал | уровень сигнала, линк, ошибки |
Практическая подсказка: если вы видите IP-адрес — это сетевой уровень. Если MAC-адрес — канальный. Если порт 443 — транспортный.
Модель TCP/IP (то, что вы встречаете в реальности)
В TCP/IP уровни обычно объединяют так:
| TCP/IP слой | Примерно соответствует OSI | Примеры | |---|---|---| | Прикладной | OSI 5–7 | HTTP, DNS, SSH, TLS | | Транспортный | OSI 4 | TCP, UDP | | Интернет (сетевой) | OSI 3 | IP, ICMP | | Канальный/доступ к сети | OSI 1–2 | Ethernet, Wi‑Fi, ARP |
Почему так: многие функции OSI “сеансового” и “представления” уровня в интернете реализуются внутри прикладных протоколов или TLS.
Инкапсуляция: как данные “обрастают заголовками”
Когда приложение отправляет данные, они проходят вниз по стеку. Каждый уровень добавляет свой заголовок (а иногда и “хвост”), чтобы следующий уровень понимал, как доставлять.
Типичный путь:
На принимающей стороне происходит обратный процесс — деинкапсуляция.
Полезные термины:
Что такое MAC, IP и порт — и почему это разные “адреса”
Один и тот же запрос одновременно использует все три:
Движение пакета: от браузера до сайта (пошагово)
Разберём реальный сценарий: вы открываете https://example.com.
Шаг 1. DNS: узнаём IP по имени
Браузер не может отправить IP-пакет “на домен”. Ему нужен IP-адрес.
Упрощённо:
example.com?”Что важно в пентесте:
Официальная спецификация DNS: RFC 1034 и RFC 1035.
Шаг 2. Выбор следующего узла: локально или через шлюз
Компьютер сравнивает IP назначения с вашей сетью.
Шаг 3. ARP: узнаём MAC-адрес получателя в локальной сети
Чтобы отправить Ethernet-кадр, нужен MAC-адрес получателя. Но у нас есть только IP (например, IP шлюза).
Тут включается ARP:
ARP описан в RFC 826.
Что важно в пентесте:
Шаг 4. Формирование кадра и работа коммутатора
ПК формирует Ethernet-кадр:
Дальше кадр попадает на коммутатор (или Wi‑Fi точку доступа), который пересылает кадр по таблице MAC-адресов.
Ключевая мысль: коммутатор видит MAC, но не обязан разбираться в IP.
Шаг 5. Маршрутизатор: пересылка IP-пакета между сетями
Шлюз (маршрутизатор) получает кадр, извлекает IP-пакет и смотрит:
Затем он отправляет пакет дальше в сторону провайдера/интернета.
На каждом L2-участке пути меняются MAC-адреса (кадр пересобирается заново), но IP-адрес назначения остаётся тем же (если нет NAT).
IP описан в RFC 791 (IPv4) и RFC 8200 (IPv6).
Шаг 6. TCP-соединение: “рукопожатие” до передачи данных
HTTPS обычно работает поверх TCP (порт 443). Прежде чем передать HTTP-запрос, устанавливается TCP-соединение.
Упрощённо (TCP three-way handshake):
После этого стороны могут надёжно передавать данные (с подтверждениями и порядком).
TCP описан в RFC 793. UDP — в RFC 768.
Что важно в пентесте:
SYN, ACK, RST помогают понять, порт реально открыт или фильтруется.Шаг 7. TLS и HTTP: что видит сеть, а что скрыто
Для https:// поверх TCP поднимается TLS:
Сеть по пути обычно видит:
Но содержимое HTTP-запросов шифруется.
TLS формально стандартизован в RFC 8446 (TLS 1.3).
Шаг 8. Ответ идёт обратно
Ответ сервера проходит обратный путь:
!Путь пакета: где меняются MAC-адреса, а где сохраняется IP
Где в этой картине NAT и файрвол
NAT
NAT (Network Address Translation) часто включён на домашнем/офисном роутере. Он меняет параметры соединения так, чтобы много внутренних устройств могли выходить в интернет через один внешний IP.
Типичный эффект:
192.168.x.x) не маршрутизируется в интернетеДля пентеста это важно, потому что NAT влияет на:
Файрвол
Файрвол может работать на разных уровнях:
Он может:
Это напрямую влияет на то, как выглядят результаты сканирования.
Минимальный практический набор: что наблюдать на каждом уровне
| Что вы наблюдаете | Уровень | Чем обычно смотрят |
|---|---|---|
| “линк поднялся/упал”, качество Wi‑Fi | физический/канальный | системные индикаторы, драйвер, мониторинг |
| MAC, ARP, VLAN | канальный | сниффер трафика, ARP-таблица ОС |
| IP, маршруты, TTL, ICMP | сетевой | ping, traceroute/tracert, таблица маршрутов |
| порты, TCP-флаги, соединения | транспортный | ss/netstat, сканеры портов, сниффер |
| DNS/HTTP/TLS | прикладной | логи, прокси, анализатор трафика |
Частые ошибки новичков (и как мыслить правильно)
Что дальше по курсу
Дальше будем углубляться в практику: