Основы сетей для пентестера, OSI, TCP/IP и главные протоколы

2378
Основы сетей для пентестера, OSI, TCP/IP и главные протоколы

Пентестеру не нужно воспроизводить семь уровней OSI по памяти. Нужно проследить путь данных от приложения до сетевой карты, найти место сбоя и сформулировать проверяемую гипотезу. Одинаковая жалоба «сайт не открывается» может означать ошибку DNS, отсутствие маршрута, фильтрацию TCP, проблему с MTU, сбой TLS или ответ приложения.

Основы сетей для пентестера, OSI, TCP/IP и главные протоколы

Я использую OSI как карту для диагностики, а TCP/IP как описание реальной сети. База считается усвоенной, когда специалист открывает PCAP-файл и объясняет, почему появился ARP-запрос, куда ушёл IP-пакет, как установилось соединение и какой ответ вернул сервер.

Материал предназначен для легального тестирования собственных систем или инфраструктуры, на проверку которой владелец дал явное разрешение. Соблюдайте законы своей страны, особенно требования законодательства России. Не применяйте команды для несанкционированного сканирования, перехвата трафика, слежки, взлома или нарушения правил сервисов.

OSI объясняет роли, TCP/IP показывает рабочий стек

Модель OSI делит обмен на семь логических уровней. Стек TCP/IP обычно изображают четырьмя уровнями, иногда канальный и физический разделяют и получают пятиуровневую схему. Точного соответствия между моделями нет. TLS, кодировки и сеансовые функции в реальных приложениях часто относят к прикладной части стека, хотя учебные схемы помещают их на пятый и шестой уровни OSI.

Уровень OSI Область TCP/IP Что проверяет пентестер
7–5. Прикладные функции Application HTTP, DNS, SSH, SMB, LDAP, Kerberos, TLS, сессии и форматы данных
4. Транспортный Transport TCP, UDP, QUIC, порты и состояния соединений
3. Сетевой Internet IPv4, IPv6, ICMP, маршруты, MTU и фрагментация
2. Канальный Link Ethernet, Wi-Fi, MAC, ARP, Neighbor Discovery и VLAN
1. Физический Нижняя часть Link Кабель, радиоканал, адаптер, ошибки и скорость линии

При передаче приложение создаёт сообщение, транспорт добавляет заголовок, IP формирует пакет, а Ethernet помещает пакет в кадр. MAC-адрес нужен для доставки кадра в пределах канального сегмента, IP-адрес направляет пакет между сетями, транспортный порт помогает сетевому стеку передать данные нужному процессу.

Порт не идентифицирует приложение с абсолютной точностью. Администратор может запустить SSH на TCP 443 или веб-интерфейс на TCP 22. Запись 443/tcp open подтверждает доступную точку транспорта, а не HTTPS. Сервис определяют по ответу, TLS-параметрам и протокольным пробам. Статус базовых спецификаций лучше сверять по реестру интернет-стандартов, поскольку старые RFC обновляют и заменяют.

Первые десять минут в новой сети

До сканирования я фиксирую адрес интерфейса, маску, шлюз, DNS-серверы, таблицу маршрутов и соседей. Такая проверка часто объясняет проблему быстрее автоматического сканера.

# Linux
 ip address
 ip route
 ip route get 192.0.2.10
 ip neigh
 ss -tulpn
 resolvectl status
 
 # Windows
 ipconfig /all
 route print
 arp -a
 netstat -ano
 nslookup example.org

Затем я проверяю путь по слоям. Документационные адреса 192.0.2.0/24, 198.51.100.0/24 и 203.0.113.0/24 подходят для примеров, но в проекте нужно использовать только согласованный диапазон.

dig example.org A
 dig example.org AAAA
 dig +tcp example.org A
 
 traceroute example.org
 tracepath example.org
 
 curl -vI https://example.org/
 openssl s_client -connect example.org:443 -servername example.org
 
 nmap -sT -sV --reason -p 22,53,80,443 192.0.2.10
 sudo nmap -sU --reason -p 53,123,161 192.0.2.10
 
 sudo tcpdump -ni any host 192.0.2.10
 sudo tcpdump -ni eth0 -w session.pcap

Nmap описывает результат с точки зрения конкретного сканирования. open означает, что приложение принимает соединения или датаграммы. closed указывает на доступный узел без слушающего сервиса. filtered означает, что сканер не смог определить состояние из-за фильтрации или отсутствия подходящего ответа. В UDP часто встречается open|filtered, поскольку многие сервисы молчат на некорректную датаграмму. Подробную логику содержит официальное руководство Nmap.

В Wireshark capture filter ограничивает запись и использует синтаксис libpcap. Display filter скрывает лишние пакеты после захвата и использует собственный язык.

arp
 icmp || icmpv6
 dns
 tcp.flags.syn == 1
 tcp.flags.reset == 1
 tcp.analysis.retransmission
 ip.addr == 192.0.2.10
 tls.handshake
 quic

Один захват не всегда показывает весь разговор. Асимметричная маршрутизация может провести запрос и ответ разными путями. Аппаратная разгрузка сетевой карты также способна показать в локальном PCAP неверные контрольные суммы, хотя по сети пакет уйдёт корректным.

Протоколы, которые нужно понимать на уровне пакета

Ethernet, ARP и VLAN. Коммутатор пересылает кадры по MAC-адресам и обучается на исходных адресах. ARP сопоставляет локальный IPv4-адрес с канальным адресом. Для назначения в другой подсети компьютер ищет MAC следующего шлюза, а не удалённого сервера. ARP не аутентифицирует ответы, поэтому возможна подмена соответствий IP и MAC. Защиту усиливают сегментация, DHCP snooping и Dynamic ARP Inspection.

VLAN делит физическую сеть на логические сегменты, но тег 802.1Q не заменяет межсетевой экран. Ошибки trunk-портов, native VLAN и маршрутизации между VLAN могут соединить зоны, которые администратор считал изолированными.

IPv4, IPv6, ICMP и MTU. IP не гарантирует порядок, повторную передачу и успешную доставку. Маршрутизатор выбирает наиболее специфичный маршрут, уменьшает TTL или Hop Limit и передаёт пакет дальше. Traceroute использует ответы о превышении срока жизни, хотя тип проб зависит от программы и её параметров.

ICMP нужен не только для ping. Протокол сообщает о недоступности, превышении времени жизни и слишком большом пакете. Жёсткая блокировка ICMP и особенно ICMPv6 ломает диагностику и Path MTU Discovery. При MTU black hole небольшие запросы проходят, а крупные пакеты зависают. Пользователь видит частично открывающийся сайт, а инженер ошибочно обвиняет приложение.

IPv6 использует Neighbor Discovery поверх ICMPv6 вместо ARP. Маршрутизаторы IPv6 не фрагментируют транзитные пакеты, фрагментацию при необходимости выполняет источник. Игнорировать IPv6 опасно. Отдельный адрес, AAAA-запись или менее строгие правила могут создать второй периметр рядом с защищённым IPv4.

TCP, UDP и QUIC. TCP обычно начинает соединение пакетами SYN, SYN-ACK и ACK, затем передаёт упорядоченный поток байтов. Номера последовательности, подтверждения, окна и повторные передачи помогают доставлять поток над ненадёжной сетью. RST сбрасывает состояние, FIN участвует в штатном закрытии направления. Успешный handshake не доказывает работоспособность приложения. Сервер может принять TCP и закрыть соединение после проверки SNI или политики доступа.

UDP не создаёт транспортную сессию и не подтверждает доставку. Надёжность и порядок при необходимости реализует приложение. QUIC работает поверх UDP, использует TLS 1.3 и поддерживает несколько потоков внутри соединения. HTTP/3 обычно работает на UDP 443, но такой трафик нельзя автоматически называть HTTP/3. Тот же порт применяют другие протоколы, включая SMB over QUIC.

DNS и DHCP. DNS работает не только через UDP 53. Реализации поддерживают TCP, а современные клиенты могут использовать DNS over TLS, DNS over HTTPS или DNS over QUIC. При зашифрованном DNS пассивный анализатор увидит соединение с резолвером, но не обязательно имя. Пентестеру полезны записи A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SVCB и HTTPS.

Схема DHCP Discover, Offer, Request, ACK объясняет первичную аренду IPv4, но не всю работу протокола. Продление, повторная привязка, ретрансляторы и ускоренные варианты меняют обмен. В IPv6 адрес может прийти через SLAAC, а DHCPv6 будет передавать только дополнительные параметры.

HTTP, TLS и ECH. HTTP задаёт методы, заголовки, коды ответа и семантику сообщений. HTTP/1.1 обычно работает поверх TCP, HTTP/2 мультиплексирует потоки в одном TCP-соединении, HTTP/3 переносит HTTP через QUIC. HTTPS защищает канал, но не исправляет SQL-инъекции, ошибки авторизации и утечки бизнес-логики.

TLS защищает конфиденциальность и целостность канала, а проверка сертификата подтверждает сервер только при корректной цепочке доверия, имени и времени. Значок замка не доказывает добросовестность сайта. С марта 2026 года Encrypted ClientHello стандартизован в RFC 9849. ECH способен скрыть SNI и другие поля ClientHello от наблюдателя на пути, хотя поддержка зависит от клиента, сервера и DNS.

Корпоративные протоколы. Для внутреннего пентеста нужны SMB, LDAP, Kerberos, SSH, RDP, SMTP, IMAP, SNMP и NTP. SMB обслуживает файлы, именованные каналы и часть административных функций. LDAP раскрывает структуру каталога. Kerberos выдаёт билеты и чувствителен к времени. SNMP показывает сведения об оборудовании. Проверять нужно не только порт, но и аутентификацию, шифрование, анонимный доступ, версии и границы доверия.

Ошибки, которые ломают сетевой пентест

  1. Считать OSI точной схемой реализации. Реальные протоколы пересекают условные границы.
  2. Приравнивать номер порта к сервису. Порт даёт гипотезу, которую подтверждают ответом.
  3. Считать NAT средством защиты. NAT меняет адреса, а доступ ограничивают правила фильтрации.
  4. Делать вывод по одному ping. Хост может фильтровать ICMP и принимать TCP или UDP.
  5. Игнорировать UDP, IPv6 и ICMPv6. Часть сервисов и маршрутов останется вне проверки.
  6. Считать retransmission доказательством плохого сервера. Причина может находиться в канале, фильтре, очереди или маршруте.
  7. Верить баннеру версии без проверки. Поставщик мог скрыть версию или перенести исправление в старую ветку.
  8. Запускать агрессивное сканирование до изучения scope. Шум мешает анализу и способен перегрузить слабое оборудование.

Как проверить себя

Отдельная ловушка связана с Happy Eyeballs. Браузер может почти одновременно пробовать IPv6 и IPv4, выбрать первый успешный путь и отменить остальные попытки. Несколько оборванных соединений в захвате не всегда означают неисправность.

Я проверяю знания простым упражнением. Специалист открывает сайт, записывает PCAP и находит DNS-разрешение, выбор IPv4 или IPv6, разрешение адреса соседа, TCP или QUIC, TLS ClientHello и первый прикладной обмен. Затем повторяет опыт с несуществующим именем, закрытым портом, неверным сертификатом и уменьшенным MTU в лаборатории.

Пентест начинается не со списка эксплойтов, а с точной модели обмена. Когда специалист понимает маршрут, адресацию, состояние транспорта, роль ICMP, варианты DNS и поведение TLS, вывод сканера превращается в доказательство. Без сетевой базы даже хороший инструмент выдаёт набор строк, которые легко истолковать неверно.

Нужно ли пентестеру знать все семь уровней OSI?

Заучивать уровни OSI без понимания их роли бессмысленно. Пентестеру важнее уметь определить, где возникла проблема: на физическом соединении, внутри локального сегмента, при маршрутизации, на транспортном уровне или в приложении. Модель OSI служит картой для диагностики, а не точным описанием реализации каждого протокола.

Чем модель TCP/IP отличается от модели OSI?

OSI делит сетевое взаимодействие на семь логических уровней. TCP/IP обычно объединяет функции в четыре уровня: прикладной, транспортный, межсетевой и канальный. TCP/IP ближе к реальной архитектуре интернета, а OSI удобнее для поиска неисправностей и объяснения функций протоколов.

Можно ли определить сервис только по номеру порта?

Нельзя. Порт 443 часто использует HTTPS, но администратор может запустить на нём SSH, VPN-шлюз или другой сервис. Номер порта даёт первоначальную гипотезу. Пентестер подтверждает сервис по ответу приложения, баннеру, TLS-параметрам и протокольным пробам.

Что означает состояние filtered в Nmap?

Состояние filtered означает, что Nmap не смог определить, открыт порт или закрыт. Пакеты мог отбросить межсетевой экран, маршрутизатор или фильтр на самом узле. Статус filtered не доказывает, что за фильтром работает сервис.

Почему отсутствие ответа на ping не означает, что хост выключен?

Узел может блокировать ICMP Echo Request и одновременно принимать TCP- или UDP-трафик. Ответ также может потеряться из-за фильтрации, ограничения частоты запросов или проблем маршрутизации. Доступность проверяют несколькими методами, включая попытку подключения к согласованным портам.

В чём разница между TCP и UDP для пентестера?

TCP устанавливает соединение, отслеживает порядок байтов и повторно передаёт потерянные данные. UDP отправляет отдельные датаграммы без транспортных подтверждений. TCP-порты обычно проще классифицировать, а открытый UDP-сервис может не ответить на неподходящий запрос, поэтому результат часто остаётся неопределённым.

Почему при пентесте нельзя игнорировать IPv6?

IPv6 может создать отдельный путь к тем же системам. Организация иногда тщательно фильтрует IPv4, но оставляет более мягкие правила для IPv6. AAAA-записи, автоматическая адресация и Neighbor Discovery способны открыть сервисы, которые не видны при проверке только IPv4.

Чем ARP отличается от DNS?

DNS сопоставляет доменные имена с IP-адресами и другими записями. ARP сопоставляет локальный IPv4-адрес с MAC-адресом сетевого интерфейса. Для удалённого сервера компьютер обычно запрашивает MAC-адрес шлюза, а не MAC самого сервера.

Защищает ли NAT локальную сеть от атак?

NAT преобразует адреса и порты, но сам по себе не заменяет межсетевой экран. Доступ ограничивают правила фильтрации, состояние соединений, сегментация и настройки сервисов. Ошибочно считать любую сеть за NAT автоматически защищённой.

Какие сетевые инструменты нужно освоить начинающему пентестеру?

Минимальный набор включает ip или ipconfig для конфигурации интерфейсов, ss или netstat для соединений, dig или nslookup для DNS, traceroute или tracert для маршрута, curl и OpenSSL для проверки приложений и TLS, Nmap для согласованного сканирования, tcpdump и Wireshark для захвата и анализа пакетов.

пентест сеть OSI TCP/IP протокол Wireshark Nmap DNS TCP UDP
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
16
сентября
11:00 МСК
Вебинар · i-Core
Управление ИБ без хаоса: как выстроить процессы и не утонуть
16 сентября в 11:00 по Мск разберем, как выстроить процессы ИБ и уйти от ручного управления.
Участвовать бесплатно
Реклама. 18+ ЗАО «Ай Ко» ИНН 7709716245

Рекламодатель
ООО «СерчИнформ»
ИНН: 7704306397
searchinform.ru↗
ИИ-ассистент СерчИнформ