Разбор модели TCP/IP, процесса 3-way handshake и того, как nmap использует флаги TCP для сканирования портов.
🔗
TCP/IP: как устроена передача данных (и при чём тут nmap)
В прошлых постах мы разобрали IP, MAC и ARP. Теперь соберём всё в одну модель.
TCP/IP — это набор протоколов, по которому работает весь интернет и почти любая корпоративная сеть.
🧱
4 уровня модели TCP/IP
4. Прикладной → HTTP, DNS, SMB, SSH
3. Транспортный → TCP, UDP
2. Межсетевой → IP, ICMP
1. Канальный → Ethernet, Wi-Fi, ARP
Каждый уровень решает свою задачу:
↓ приложение формирует данные
↓ TCP режет их на сегменты и следит за доставкой
↓ IP знает,
куда отправить пакет
↓ канальный уровень знает,
кому в локальной сети передать кадр (MAC)
🤝
TCP-рукопожатие (3-way handshake)
Прежде чем передавать данные, TCP устанавливает соединение:
Клиент ── SYN ──────────▶️ Сервер
Клиент ◀️───── SYN/ACK ── Сервер
Клиент ── ACK ──────────▶️ Сервер
Только после этого начинается обмен данными.
Именно поэтому TCP называют
надёжным: он гарантирует доставку, порядок пакетов и переотправку потерь.
🚩
Флаги TCP, которые нужно знать
—
SYN: хочу соединиться
—
ACK: подтверждаю
—
RST: сброс, «здесь никого нет» или «уходи»
—
FIN: корректное завершение соединения
🎯
Почему это важно пентестеру
Сканирование портов — это просто игра с рукопожатием.
nmap -sS 10.0.0.5
SYN-скан отправляет
только SYN и смотрит на ответ:
SYN/ACK → порт открыт ✅
RST → порт закрыт ❌
тишина → порт фильтруется 🧱 (файрвол)
После SYN/ACK nmap не завершает рукопожатие, а отправляет RST. Поэтому такой скан быстрее и меньше светится в логах приложений.
Для сравнения:
nmap -sT 10.0.0.5
Connect-скан проходит рукопожатие полностью. Он работает без root-прав, но зато оставляет следы в логах сервиса.
📌
Главная мысль
Когда nmap пишет
open,
closed или
filtered, он просто пересказывает тебе, как сервер ответил на SYN.
Понимаешь рукопожатие — понимаешь, что на самом деле показывает сканер и почему он иногда «врёт».
#network #base
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖