tcpdump — параметры, примеры использования

9 ноября 2012 г. Alex Просмотров: 19546 RSS Обсудить
FreeBSD ,

tcpdump – мощнейшая утилита для анализа сетевого трафика проходящего через интерфейсы системы (включая и виртуальные интерфейсы ipfw, tun и т.д.). В этой заметке опишу основные параметры (ключи) для запуска утилиты и некоторые примеры использования.

Параметры:

-D – вывод на экран имён доступных интерфейсов

-i имя интерфейса – указываем конкретный сетевой интерфейс

-с десятичное число – сколько пакетов вывести на экран

-q – вывод минимальной информации о проходящих пакетах

-v – вывод подробной информации о проходящих пакетах

-vv – вывод более подробной информации о проходящих пакетах

-vvv – вывод максимально подробной информации о проходящих пакетах

-t – запрет отображения метки времени

-tt – отображает не форматированную метку времени

-ttt – отображает время вместе с текущей датой

-n – отображает IP-адрес вместо имени хоста

-nn – отображает номер порта вместо используемого им протокола

-l – использовать стандартный потоковый вывод

-w имя файла – сохраняет все выводимые данные в файле в двоичном формате

-r имя файла – читает данные из указанного файла и выводит на экран

-C десятичное число – определяем размер создаваемого файла (для опции –w) в байтах (к следующему создаваемому файлу присваивается числовой суффикс номера файла)

-x – просмотр содержимого пакетов в шестнадцатеричной форме

-X – просмотр содержимого пакетов в ASCII- и hex-формате

host имя или ip-адрес хоста – вывод информации о пакетах конкретного хоста

port номер порта – указание номера порта

Кроме этих параметров tcpdump поддерживает параметры фильтрации по протоколу {arp|rarp|ip|tcp|udp|icmp|wlan|multicast|broadcast}, по размеру пакетов {less|greater размер пакета}, поддерживаются ключевые слова логических операций not, and и or. Могут использоваться некоторые специальные конструкции src и dst – только исходящая или только входящая информация соответственно. Также возможно осуществление фильтрации по флагам в заголовке пакетов FIN(1), SYN(2), RST(4), PSH(8), ACK(16), URG(32), ECE(64), CWR(128), анализируя 13-ый байт в заголовке пакета (в скобках указаны битовые позиции флагов в десятичном числовом выражении).

Примеры использования:


Так выглядит вывод информации на экране, в параметрах задали интерфейс rl0, сокращённый вывод информации, отображение ip-адреса вместо имени хоста и выводить не более 30-ти пакетов. Как видим здесь присутствуют ICMP пакеты и пакеты нашего подключения по SSH.

Далее приведу ещё несколько примеров использования:

Вывод на экран всей информации на интерфейсе ed0 :

# tcpdump –i ed0

Вывод на экран информации с одного хоста по ip-адресу 192.168.1.1 :

# tcpdump –i ed0 host 192.168.1.1

Вывод на экран информации по протоколу udp на интерфейсе ed0 :

# tcpdump -i ed0 udp

Вывод на экран всей информации на интерфейсе ed0 по хосту 192.168.1.1 за исключением информации по порту 22 :

# tcpdump –i ed0 host 192.168.1.1 and not port 22

Просмотр icmp пакетов на интерфейсе ed0 :

# tcpdump –i ed0 icmp

Просмотр только входящих пакетов на интерфейсе ed0 по хосту 192.168.1.1 прослушивая только порт 4999 :

# tcpdump –i ed0 dst host 192.168.1.1 and port 4999

Просмотр всего входящего трафика с сети 196.209.0.х на интерфейсе ed0 :

# tcpdump –i ed0 src 196.209.0.0/16

Вывод на экран всего трафика с установленным флагом SYN :

# tcpdump –i ed0 ‘tcp[13] == 2’

Вывод на экран всего трафика с установленным флагом RST :

# tcpdump –i ed0 ‘tcp[13] == 4’

Вывод на экран всего трафика с установленным флагом ACK :

# tcpdump –i ed0 ‘tcp[13] == 16’

Для проверки по нескольким флагам битовые позиции флагов арифметически складываются (ACK(16), RST(4)), вывод на экран всего трафика с установленным флагом ACK и RST :

# tcpdump –i ed0 ‘tcp[13] == 20’

Запись в файл tcpdump.log первых 1000 пакетов всей информации на интерфейсе ed0 :

# tcpdump –i ed0 –c 1000 –w tcpdump.log

Чтение и вывод на экран сохранённой ранее информации из файла tcpdump.log :

# tcpdump –r tcpdump.log

Запись вывода всей информации в файл tcpdump.log (в текстовом виде) и одновременное отображение содержимого при помощи утилиты tail :

# tcpdump –i ed0 –l > tcpdump.log & tail –f tcpdump.log

Всех комбинаций примеров не перечесть, дополнительно обращаемся :

# man tcpdump

Ну и гугл вам в помощь..

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru friendfeed.com livejournal.ru memori.ru google.com bobrdobr.ru yandex.ru del.icio.us
Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Комментарий будет опубликован после проверки

Имя и сайт используются только при регистрации

(обязательно)