TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #948 1.35K
👌 tcpdump: как быстро проверить, доходят ли пакеты до сервера

Когда сервис не открывается, то первое желание часто такое: сразу лезть в конфиги приложения, firewall, nginx, systemd и логи. Но иногда полезнее начать с более простого вопроса: а пакеты вообще доходят до сервера? Для этого есть старый добрый tcpdump. Он позволяет посмотреть сетевой трафик прямо на интерфейсе и быстро понять, видит ли сервер входящие пакеты. Например, пользователь говорит: "Не открывается сайт на 443 порту".

▪️ На сервере запускаем:


tcpdump -i any port 443


И просим пользователя повторить подключение. Если в выводе появились пакеты - до сервера что-то доходит. Если тишина - проблема может быть раньше:

• firewall перед сервером;
• security group;
• маршрутизация;
• NAT;
• балансировщик;
• неправильный IP;
• провайдерская фильтрация;
• подключение вообще идет не туда.

▪️ Чуть более точный вариант - смотреть только входящий TCP SYN:


tcpdump -i any 'tcp port 443 and tcp[tcpflags] & tcp-syn != 0'


SYN - это начало TCP-подключения. Если SYN приходит, значит клиент хотя бы пытается установить соединение с сервером. Можно сразу фильтровать по IP клиента:


tcpdump -i any host 203.0.113.10 and port 443


Так удобнее, если на сервере много трафика и общий вывод превращается в кашу.

Если нужно проверить SSH:


tcpdump -i any port 22


Если HTTP:


tcpdump -i any port 80


Если DNS:


tcpdump -i any port 53


Для UDP-сервисов тоже работает:


tcpdump -i any udp port 1194


▪️ Полезные ключи:

-n -Не резолвить имена. Вывод будет быстрее и чище.
-nn - Не резолвить ни имена, ни порты. Вместо https будет 443.
-v - Более подробный вывод.
-c 20 - Поймать 20 пакетов и завершиться.

▪️ Пример аккуратной команды для быстрой проверки:


tcpdump -i any -nn -c 20 host 203.0.113.10 and port 443


▪️ Еще один полезный сценарий - понять, отвечает ли сервер. Например, видим входящий SYN от клиента:


203.0.113.10.53044 > 10.0.0.5.443: Flags [S]


А следом должен быть ответ сервера:


10.0.0.5.443 > 203.0.113.10.53044: Flags [S.]


Если входящий SYN есть, но ответа нет - нужно смотреть локальный firewall, сервис, listen-порт или routing обратно. Проверяем, слушает ли порт:


ss -lntp | grep ':443'


Проверяем firewall:


iptables -S
nft list ruleset


Если SYN приходит и SYN-ACK уходит, но клиент все равно не подключается - возможно, проблема на обратном пути.

▪️ Иногда полезно явно указать интерфейс вместо any:


ip a
tcpdump -i eth0 -nn port 443


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

▪️ Можно сохранить дамп в файл и потом открыть его в Wireshark:


tcpdump -i any -nn host 203.0.113.10 -w capture.pcap


Это удобно, если проблему нужно передать сетевикам или разобрать позже.

#linux #tcpdump #network

🧑‍💻 NetworkAdmin
  • 👍 6
  • ❤ 2
  • 🔥 1
More from @networkadminru
  1. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  2. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  3. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
  4. Sep 22, 2026🌚 watch: простая динамическая диагностика в терминале Иногда не нужен отдельный мониторин…
  5. Sep 21, 2026👌 Firewall default deny: как внедрять без внезапного отрезания доступа Идея простая: разр…
  6. Sep 18, 2026🖥 Windows зависла на "Подготовке Windows": как проверить состояние удаленно Типичная ситу…
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 →