Loading

tcpdump

23.09.2010 - 20:07

1. Ловим весь входящий трафик из локальной сети на сервер.

> tcpdump -i eth0 -n -nn -ttt dst host 192.168.2.254

Если вы запускаете его в SSH сессии, то подготовьтесь - польется очень много и очень быстро...

2. Ловим весь входящий трафик, исключая трафик генерируемый нашей SSH-сессией.

> tcpdump -i eth0 -n -nn -ttt 'dst host 192.168.2.254 and not ( src host 192.168.2.100 and dst port 22 )'

Вот теперь в потоке пакетов можно разобраться.
3. Нужна информация об DNS-общении между сервером и каким-нибудь узлом сети.

> tcpdump -i eth0 -n -nn -ttt 'host 192.168.2.13 and ip proto \udp'

Здесь, кстати будет бегать не только DNS-трафик. А вообще весь, который идет по UDP. Исправить это можно следующим:

> tcpdump -i eth0 -n -nn -ttt 'host 192.168.2.13 and port 53'

4. Отлавливаем исключительно icmp пакеты.

>usr/sbin/tcpdump -i eth0 -n -nn -ttt 'ip proto \icmp'

5. Слушаем трафик с сегмента нашй сети на 2222 порту

> tcpdump -i rl0 -n src net 192.168.0.0/24 and dst port 2222

Описание ключей:

-c count Выйти после получения определенного количества пакетов.
-C file_size Перед записью «сырого» пакета в файл, происходит проверка на превышение размером файла лимита, указанного в file_size. Если размер файла больше, то файл закрывается и открывается новый. Новый файл будет иметь имя определенное в ключе -w, со стоящим в конце числом 2, которое будет увеличиваться в следующих именах файлов. file_size определяет размер в миллионах байт (1,000,000), а не мегабайтах (1,048,576).
-F file Использовать file для ввода фильтрующего выражения. Выражение, указанное в командной строке, будет игнорироваться.
-i interface Собирать пакеты только на определенном интерфейсе. Если не указан – берется минимальный по номеру интерфейс (исключая loopback). Для Linux-ядер 2.2 и более новых, возможно указать ‘any’, тогда будет происходить сбор на всех интерфейсах, но они не будут переведены в режим promiscuous.
-n Не преобразовывать адрес хоста в имя. Может быть использовано, если необходимо избегать DNS-запросов.
-nn Не преобразовывать протокол и номер порта в их имена.
-N Не выводить доменную часть имени хоста. Например, при данном ключе будет выводится «nic» вместо «nic.ddn.mil»
-p Не переводить интерфейс в режим promiscuous. Следует заметить, что интерфейс может быть в режиме promiscuous по другим причинам.
-r file Читать пакеты из file (который, был создан с ключем -w). Если file указан как «-», то используется стандартный ввод.
-t Не выводить временной штамп (timestamp) в каждой строке дампа (dump).
-tt Выводит не форматированный временной штамп в каждой строке дампа.
-ttt Выводить разницу (в микросекундах) между текущей и предыдущей строками дампа.
-tttt Выводить временной штамп вместе с датой в формате по-умолчанию в каждой строке дампа.
-v (Чуть более) подробный вывод. Для еще более подробного вывода используются: -vv и -vvv.
-w file Писать «сырые» пакеты в file перед тем как произвести их разбор и вывести. Они могут быть позднее выведены с ключем -r. Если file указан как «-», то используется стандартный вывод.
-x Печатать каждый пакет (без заголовков уровня соединения) в шестнадцатиричном виде.
-X Помимо шестнадцатиричного вида выводить их ASCII-значения.

Ваша оценка: Нет Средняя: 5 (2 голосов)