Для работы с программой tcpdump необходимы права пользователя root.
Для примеров примем следующие значения:
- локальный интерфейс Leth0 ip 10.0.0.1/24
- внешний интерфейс Eeth1 1.1.1.1/30 шлюз 1.1.1.2
- подсеть серых адресов абонентов 10.0.0.0/24 шлюз 10.0.0.1 dns 10.0.0.1
- тестовый абонент 10.0.0.101 и его мак-адрес 01:23:45:67:89:0a
Пример 1.
Просмотреть icmp (ping) пакеты на локальный интерфейс ideco:
tcpdump -i Leth0 -nn proto ICMP
Эта команда выдаст все ICMP пакеты, проходящие через локальный интерфейс.
tcpdump -i Leth0 -nn proto ICMP and host 10.0.0.1
Выдает информацию о ICMP пакетах, приходящих (и исходящих) на локальный IP адрес.
tcpdump -i Leth0 -nn proto ICMP and net 10.0.0.0/24
Выдает информацию о ICMP пакетах, приходящих (и исходящих) из локальной сети.
tcpdump -i Leth0 -nn proto ICMP and not host 10.0.0.1
Выдаст все ICMP пакеты, проходящие через локальный интерфейс, кроме пакетов, которые относятся к хосту 10.0.0.1
Пример 2.
Нам необходимо увидеть, кто в локальной сети создает большое количество новых сессий.
tcpdump -i Leth0 -nn tcp[13] == 2
Команда выдаст все TCP пакеты с флагом SYN (начало сессии).
tcpdump -i Leth0 -nn tcp[13] == 2 and src net 10.0.0.0/24
Выдаст все SYN пакеты, где ip источника будет ip адрес локальной сети.
Пример 3.
Нам необходимо проверить, что от пользователя приходят запросы к DNS серверу.
tcpdump -i Leth0 -nn port 53 and host 10.0.0.101
Команда выдает все запросы к DNS серверам.
Пример 4.
Анализ ARP пакетов в локальной сети.
tcpdump arp -i Leth0 -nn
Команда выдает все ARP пакеты на интерфейсе.
tcpdump arp -i Leth0 -nn -e | grep 01:23:45:67:89:0a
Команда выдает все arp запросы тестового абонента.
Для более детального анализа различных сетевых протоколов есть очень удобная утилита Wireshark. Программа бесплатна и может быть установлена как на ОС Windows, так и на ОС Linux. Чтобы провести анализ сетевого трафика необходимо сделайть дамп трафика за необходимый интервал времени и с нужными фильтрами:
tcpdump arp -i Leth0 -nn -s 0 -w /mnt/rw_disc/Leth0_dump
При этом все пакеты проходящие через локальный интерфейс целиком записываются в файл mnt/rw_disc/Leth0_dump. Далее необходимо скачать этот файл на локальную машину и с помощью программы Wireshark можно провести детальный анализ.