TGViewer
Записки IT специалиста Записки IT специалиста @interface31 · 8.99K subscribers
Post #5952 2.6K
tcpdump – сеть как на ладони

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

Иначе можно долго гадать, что происходит и почему не работает то, что «по идее» должно работать. Поэтому не будем гадать, а просто посмотрим трафик своими глазами, в этом нам поможет утилита tcpdump.

Для ее установки выполните:

apt install tcpdump


После чего запустите ее с ключом -D, чтобы посмотреть какие интерфейсы в системе она видит и откуда может слушать трафик.

tcpdump -D


Далее мы можем просто запустить:

tcpdump -i enp3s0 


И сразу утонем в количестве информации, разобраться в которой будет решительно невозможно, поэтому, чтобы получить выжимку мы будем использовать фильтры, самые популярные из них:

▫️port
▫️host
▫️src
▫️dst
▫️tcp
▫️udp
▫️icmp

Например, мы хотим посмотреть все пакеты с портом назначения UDP 34567:

tcpdump -i enp3s0 udp dst port 34567


Указанную нами конструкцию следует читать как: протокол UDP - порт назначения 34567.

Теперь утилита нам покажет все пакеты, которые соответствую данному критерию: у которых транспортный протокол UDP и в поле порт назначения стоит 34567.

А если мы хотим посмотреть пакеты только от определенного узла, чтобы понять доходит к нам на сервер он него что-нибудь или нет. Усложним фильтр и добавим в него две группы условий. Для их соединения можно использовать логические выражения:

▫️AND
▫️OR

Отдельно для отрицания условия можно использовать

▫️NOT

Например:

tcpdump -i enp3s0 src host 203.0.113.11 and udp dst port 34567


Здесь мы фильтруем по двум условиям: хост источник и протокол - порт назначения пакета.

Вот здесь может возникнуть вопрос, а почему нельзя написать так:

tcpdump -i enp3s0 src host 203.0.113.11 udp dst port 34567


Вроде бы как пол логике вещей условия все равно соединяются как-бы по логическому И, однако это неверно. tcpdump требует явного указания условии соединения различных примитивов.

В нашем условии два примитива: хост и порт. Общий синтаксис примитива можно описать выражением:

[протокол] [направление] {host|net|port|portrange} значение


В нашем случае примитивы взяты в фигурные скобки, каждый примитив должен явно соединяться через логический оператор. Например, наоборот, все пакеты, кроме определенного узла:

tcpdump -i enp3s0 udp dst port 34567 and not src host 203.0.113.11


Если мы хотим захватить определенное количество пакетов, то используйте ключ -с:

tcpdump -i enp3s0 -с 50 src host 203.0.113.11 and udp dst port 34567


Данная команда захватит строго 50 пакетов, соответствующих условию.

Чтобы увеличить количество выводимой информации добавьте ключ -v[v], чем больше v вы указали, тем на более глубокий уровень будет разбираться информация пакета, но не обольщайтесь, если пакет не содержит дополнительных подробностей, но ничего нового вы не увидите.

При работе tcpdump пытается разрешать адреса в DNS-имена, а порты в имена служб, чтобы предотвратить такое поведение используйте ключ -n:

tcpdump -i enp3s0 -n src host 203.0.113.11 and tcp dst port 22


Но все это диагностика в реальном времени, а как быть, если мы хотим изучить полученный дамп подробно, в спокойной обстановке? Все просто, нужно записать его в файл, для этого предназначена опция -w:

tcpdump -i enp3s0 -c 50 src host 203.0.113.11 and tcp dst port 22 -w mydump.pcap


Теперь 50 пакетов, попадающих под фильтр, будут записаны в файл mydump.pcap, если вы не указали количество, то в файл запишется все, что tcpdump успел захватить, пока вы не прервали его работу через Ctrl+C.

Записанный файл можно открыть любым подходящим ПО, наиболее популярным является открытый анализатор пакетов Wireshark.
  • 👍 49
More from @interface31
  1. Sep 29, 2026Как легко и просто «сломать» информационную базу 1С:Предприятие, не снимая «замочка» и нич…
  2. Sep 29, 2026👆 AI-сервисы развиваются быстрее, чем способы их оплачивать. Если вы используете зарубежн…
  3. Sep 29, 2026Старое железо – путь в никуда Каждый раз при разговоре о старых системах приходится слышат…
  4. Sep 29, 2026Что крупные заказчики проверяют на пилоте NGFW Чем крупнее сеть, тем выше требования к NGF…
  5. Sep 28, 2026Как провайдер определит, что у меня Mikrotik Таким вопросом задаются многие читатели и оче…
  6. Sep 28, 2026Ностальгия… Ностальгия… - Мы тут тебе старенький компьютер привезем… Старенький, что сейча…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →