Просмотр Исходного

Для работы с программой tcpdump необходимы права пользователя root, поэтому нужно включить режим помощника{include:asrdocnew:Режим удаленного помощника};

Для примеров примем следующие значения:
* локальный интерфейс 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.

{code}tcpdump -i Leth0 -nn proto ICMP{code}
Эта команда выдаст все ICMP пакеты, проходящие через локальный интерфейс.

{code}tcpdump -i Leth0 -nn proto ICMP and host 10.0.0.1{code}
Выдает информацию о ICMP пакетах, приходящих и исходящих на локальный IP адрес.

{code}tcpdump -i Leth0 -nn proto ICMP and net 10.0.0.0/24{code}
Выдает информацию о ICMP пакетах, приходящих и исходящих из локальной сети.

{code}tcpdump -i Leth0 -nn proto ICMP and not host 10.0.0.1{code}
Выдаст все ICMP пакеты, проходящие через локальный интерфейс, кроме пакетов, которые относятся к хосту 10.0.0.1

*Пример 2.*
Нам необходимо увидеть, кто в локальной сети создает большое количество новых сессий.

{code}tcpdump -i Leth0 -nn tcp[13] == 2{code}
Команда выдаст все TCP пакеты с флагом SYN (начало сессии).

{code}tcpdump -i Leth0 -nn tcp[13] == 2 and src net 10.0.0.0/24{code}
Выдаст все SYN пакеты, где ip источника будет ip-адрес локальной сети.

*Пример 3.*
Нам необходимо проверить, что от пользователя приходят запросы к DNS серверу.

{code}tcpdump -i Leth0 -nn port 53 and host 10.0.0.101{code}
Команда выдает все dns запросы и ответы для заданного адреса.

*Пример 4.*
Анализ ARP пакетов в локальной сети.

{code}tcpdump arp -i Leth0 -nn{code}
Команда выдает все ARP пакеты на интерфейсе.

{code}tcpdump arp -i Leth0 -nn -e | grep 01:23:45:67:89:0a{code}
Команда выдает все arp запросы тестового абонента с заданным MAC-адресом.

*Пример 5.*


Проверить работу dhcp relay

{code}
tcpdump -nv -i Leth1 'udp and port 67 and port 68'
{code}
*Пример 6.*

Проверить работу PPPoE, нет ли посторонних PPPoE-серверов в сети


{code}
tcpdump -e -i Leth1 -nv 'ether proto 0x8863 or ether proto 0x8864'
{code}



----
Для более детального анализа различных сетевых протоколов есть очень удобная утилита Wireshark. Программа бесплатна и может быть установлена как на ОС Windows, так и на ОС Linux. Чтобы провести анализ сетевого трафика с помощью этой программы, нужно сделать на сервере дамп трафика за интересующий интервал времени и с нужными фильтрами:
{code}tcpdump arp -i Leth0 -nn -s 0 -w /mnt/rw_disc/Leth0_dump{code}
Пакеты, проходящие через локальный интерфейс, целиком запишутся в файл mnt/rw_disc/Leth0_dump. После этого нужно скачать этот файл на локальную машину и с помощью программы Wireshark провести детальный анализ.