tcpdump - один из самых используемых инструментов для анализа сетевого трафика прямо в консоли. С его помощью можно не только снять дамп, но и отфильтровать нужные пакеты, чтобы не утонуть в гигабайтах логов.
▪️ Базовый запуск
tcpdump -i eth0
Смотрим весь трафик интерфейса eth0. Часто этого уже достаточно для первичной диагностики.
▪️ Полезные фильтры
1️⃣ Фильтрация по IP
tcpdump host 192.168.1.10
Только пакеты от/к указанному IP.
2️⃣ Фильтрация по порту
tcpdump port 22
Видим весь SSH-трафик.
3️⃣ Только входящие или исходящие пакеты
tcpdump src host 10.0.0.5
tcpdump dst port 80
4️⃣ Комбинация условий (AND, OR, NOT)
tcpdump src host 192.168.1.100 and port 443
tcpdump not port 22
5️⃣ Фильтрация по протоколу
tcpdump icmp
tcpdump tcp
tcpdump udp
▪️ Практические примеры
1️⃣ Смотреть весь HTTP-трафик
tcpdump -i eth0 tcp port 80 -A
Ключ -A выводит полезную нагрузку пакетов в ASCII. Удобно, если нужно подсмотреть запросы.
2️⃣ Анализ TLS (SNI и handshake)
tcpdump -i eth0 tcp port 443 -vvv
С подробной детализацией можно увидеть домены, к которым идёт подключение.
3️⃣ Отследить DNS-запросы
tcpdump -i eth0 udp port 53
4️⃣ Сохранить дамп для анализа в Wireshark
tcpdump -i eth0 -w dump.pcap
А потом открыть dump.pcap в Wireshark.
5️⃣ Ограничить количество пакетов
tcpdump -c 100 -i eth0
Собираем только первые 100 пакетов.
▪️ Резюме:
Используйте -nn - чтобы ip-адреса и порты не переводились в имена (ускоряет работу).
-vvv - максимально подробный вывод.
Для длительного мониторинга всегда сохраняйте в файл (-w) и анализируйте в wireshark или tshark.
#linux #tcpdump
🧑💻 NetworkAdmin