tcpdump — аналіз трафіку

tcpdump — аналіз трафіку

Изображение записи по умолчанию
0

tcpdump — анализ трафика

tcpdump — мощный инструмент для перехвата и анализа сетевого трафика в командной строке. Позволяет «увидеть», какие пакеты проходят через сетевой интерфейс.

Базовое использование

# Перехват на интерфейсе eth0 (нужен root)
sudo tcpdump -i eth0

# Перехват на всех интерфейсах
sudo tcpdump -i any

# Ограничить количество пакетов
sudo tcpdump -i eth0 -c 10

# Запись в файл (pcap)
sudo tcpdump -i eth0 -w capture.pcap

# Чтение из файла
tcpdump -r capture.pcap

Фильтрация по хосту

# Трафик с конкретным хостом
sudo tcpdump -i eth0 host 192.168.1.1

# Только исходящий трафик
sudo tcpdump -i eth0 src host 192.168.1.1

# Только входящий трафик
sudo tcpdump -i eth0 dst host 192.168.1.1

# Два хоста
sudo tcpdump -i eth0 host 192.168.1.1 and host 10.0.0.5

Фильтрация по порту

# TCP-трафик на порт 80 (HTTP)
sudo tcpdump -i eth0 tcp port 80

# Порт 22 (SSH)
sudo tcpdump -i eth0 port 22

# Диапазон портов
sudo tcpdump -i eth0 portrange 80-90

# UDP-трафик
sudo tcpdump -i eth0 udp port 53

Фильтрация по протоколу

# Только TCP
sudo tcpdump -i eth0 tcp

# Только UDP
sudo tcpdump -i eth0 udp

# Только ICMP (ping)
sudo tcpdump -i eth0 icmp

# Комбинированный фильтр
sudo tcpdump -i eth0 "tcp port 80 or tcp port 443"

Опции вывода

# Без DNS-разрешения (быстрее, IP вместо имён)
sudo tcpdump -i eth0 -n

# Без разрешения портов
sudo tcpdump -i eth0 -nn

# Подробный вывод
sudo tcpdump -i eth0 -v

# Очень подробный
sudo tcpdump -i eth0 -vvv

# Показать содержимое пакетов (hex + ASCII)
sudo tcpdump -i eth0 -X

# Только ASCII
sudo tcpdump -i eth0 -A

# Полный пакет
sudo tcpdump -i eth0 -vvv -X -nn

Комбинированные фильтры

# HTTP-трафик к конкретному серверу
sudo tcpdump -i eth0 -nn host 93.184.216.34 and tcp port 80

# Всё, кроме ARP и DNS
sudo tcpdump -i eth0 "not arp and not port 53"

# TCP SYN-пакеты (попытки соединения)
sudo tcpdump -i eth0 "tcp[tcpflags] & tcp-syn != 0"

# Пакеты с конкретного MAC
sudo tcpdump -i eth0 ether host 00:11:22:33:44:55

Практические примеры

# Поймать 20 пакетов HTTP и сохранить
sudo tcpdump -i eth0 -c 20 -w http.pcap tcp port 80

# Мониторить DNS-запросы
sudo tcpdump -i eth0 -nn udp port 53

# Найти, кто обращается к порту 22
sudo tcpdump -i eth0 -nn port 22 and tcp[tcpflags] & tcp-syn != 0

Анализ pcap-файла

# Читать файл
tcpdump -r capture.pcap

## Читать с фильтром
tcpdump -r capture.pcap port 80

# Конвертировать в текст
tcpdump -r capture.pcap -nn -vvv

ℹ️ Для графического анализа pcap-файлов используйте Wireshark.

Практическое задание

  1. Поймайте 10 пакетов: sudo tcpdump -i any -c 10 -nn
  2. Поймайте DNS-запросы: sudo tcpdump -i any -nn udp port 53 -c 5
  3. Сохраните трафик в файл: sudo tcpdump -i any -c 50 -w /tmp/capture.pcap
  4. Прочитайте файл: tcpdump -r /tmp/capture.pcap -nn
  5. Поймайте только TCP SYN: sudo tcpdump -i any -nn "tcp[tcpflags] & tcp-syn != 0" -c 5

Comments

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Related Post