Linux Labs

Сеть / Ступень 14 из 15

Что видно в пакетах

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 7 · на машине · 6 мин

Строка tcpdump

Одна строка вывода — один пакет: когда, от кого, кому и что в нём.

tcpdump показывает пакеты, которые проходят через сетевой интерфейс. Читать их может только root: без sudo будет You don't have permission to perform this capture on that device.

Часть команды Что делает
-i lab1 слушает интерфейс lab1
-n печатает адреса и порты числами: без ключа вместо 8080 будет http-alt
-c 4 останавливается после четырёх пакетов; без ключа — только по Ctrl+C
tcp port 8080 фильтр: только TCP с портом 8080, в обе стороны

Начало строки из твоего вывода:

text
14:57:39.821364 IP 192.0.2.11.56112 > 192.0.2.12.8080: Flags [S], …

Слева от > — отправитель, адрес и порт через точку, справа — получатель. Flags [S] — флаг SYN: первый пакет TCP-подключения, просьба открыть соединение. Дальше идут номер seq, параметры TCP и length 0 — данных в пакете нет.

Порт клиента повторяется через секунду, с тем же seq. Это повтор: ядро клиента не получило ответа и отправило SYN ещё раз. Следующая попытка монитора идёт уже с другого порта.

Почему ответа нет, видно в правилах lab-node2:

bash
sudo ip netns exec lab-node2 nft list ruleset

Там стоит tcp dport 8080 drop. tcpdump снимает копию пакета на интерфейсе: входящий — раньше фильтра nftables, исходящий — после. Поэтому отброшенные SYN в выводе есть, а ответа нет: его не было.

Проверь себя 1 вопрос

На другом сервере правило в цепочке output отбрасывает его ответы [S.], а входящих пакетов фильтр не трогает. Что покажет tcpdump на интерфейсе этого сервера?

  • Входящий SYN tcpdump получает раньше фильтра, и цепочка output его не касается.

  • Без пришедшего SYN сервер не стал бы отвечать. SYN в выводе есть, а ответов нет.

  • Исходящий пакет tcpdump видит после фильтра: отброшенный ответ до интерфейса не доходит.

tcpdump снимает копию пакета на интерфейсе: входящий — раньше фильтра, исходящий — после. Поэтому картина та же, что у drop на входе: SYN и повторы без ответа. Отличит их nft list ruleset на сервере.

Главное в шаге

  • Строка tcpdump — один пакет: время, отправитель > получатель, флаги и длина данных.
  • SYN без ответа и его повтор с того же порта: запрос дошёл, а ответа нет.
  • Входящий пакет tcpdump видит раньше фильтра, исходящий — после.
Ubuntu 24.04
Загрузка…