Инструменты безопасности с открытым исходным кодом

Выражения Tcpdump


Выражения Tcpdump определяют выбор отображаемых сетевых пакетов. Именно здесь происходит реальная работа Tcpdump. Выдаются только те объекты, которые соответствуют выражению; если выражения не заданы, отображаться будут все пакеты. Выражение Tcpdump состоит из одной или нескольких директив, называемых примитивами, которые, в свою очередь, состоят из идентификатора и следующего за ним квалификатора. В табл. 6.3 перечислены три различных вида квалификаторов, а в табл. 6.4 - доступные комбинации примитивов.

Существуют также более сложные выражения, которые можно строить с помощью булевых операций, таких как И, ИЛИ, НЕ, и операций сравнения (больше, меньше и т.п.). Обратитесь к оперативной справке Tcpdump, чтобы детальнее ознакомиться с примерами и методами применения выражений.

Таблица 6.3. Квалификаторы Tcpdump

КвалификаторОписание
типОпределяет, к чему относится идентификатор, заданный как имя или номер. Возможными типами служат host, net и port. Например, host foo, net 128.3 или port 20
направлениеОпределяет направление трафика от определенного идентификатора. Возможными направлениями служат src; dst; src or dst и src and dst (src обозначает исходный адрес, dst - целевой)
протоколПозволяет определить протокол для фильтрации. Возможными протоколами являются ether, fddi, tr, ip, ipv6, arp, rarp, decnet, tcp и udp. Если протокол не задан, то допустимы все протоколы, совместимые с остальной частью выражения. При помощи фильтров с этим квалификатором можно определить, какая машина делает чрезмерное количество arp-запросов, или для отбрасывания на фильтре udp-запросов, которых немало во многих сетях, так как DNS использует udp

Таблица 6.4. Допустимые комбинации примитивов

КомбинацияОписание
dst host хостПоказывает только трафик, адресованный хосту, который может быть задан IP-адресом или именем
src host хостПоказывает только трафик, исходящий из хоста
host хостПоказывает как исходящий, так и входящий трафик хоста
ether dst Ethernet-хостПоказывает трафик, предназначенный для указанного Ethernet-хоста, который может быть задан либо именем, либо MAC-адресом
ether src Ethernet-хостПоказывает трафик, исходящий из Ethernet-хоста
ether host Ethernet-хостПоказывает как исходящий, так и входящий трафик Ethernet-хоста
gateway хостПоказывает любой трафик, использующий хост в качестве шлюза. Иными словами, трафик, переправляемый с хоста. Так происходит, когда IP-адрес отправителя или получателя не соответствует Ethernet-адресу хоста. Данную возможность целесообразно использовать, когда необходимо отследить весь трафик, проходящий через Интернет-шлюз или некоторый конкретный маршрутизатор
dst net сетьФильтрует трафик, предназначенный для конкретной сети, заданной в нотации 0.0.0.0. Аналогично ether dst Ethernet-хост за исключением того, что это может быть значительно больше, чем один хост
src net сетьФильтрует сеть отправителя
net сетьТо же, что и две предыдущие инструкции, но трафик разрешен как в заданную сеть, так и из нее
net сеть mask маска_сетиСопоставляется с трафиком в заданную сеть или из нее, с указанной маской сети. Применяется для задания точного размера сети с шагом меньше, чем класс C. В этой комбинации допускается использование примитивов src и dst для указания направления потоков данных
net сеть/длина_маскиСопоставляется с трафиком с сетевыми адресами из указанной сети и заданным числом бит в маске сети. Аналогична предыдущей комбинации
dst port портФильтрует трафик TCP и UDP с заданным целевым портом. Здесь можно также специфицировать тип перехватываемого трафика, TCP или UDP. По умолчанию отображается трафик обоих типов
src port портТо же, что и предыдущая комбинация, только перехватывается трафик с заданным исходным портом
less длинаОтображает пакеты с длиной, меньшей или равной заданной. Допустима также комбинация len <= длина
greater длинаТо же, что и предыдущая комбинация, только перехватывается трафик с длиной пакетов больше или равной указанной
ip proto протоколПерехватывает трафик заданного протокола. Допустимыми протоколами служат icmp, icmpv6, igmp, igrp, pim, ah, esp, vrrp, udp и tcp. Имена tcp, udp и icmp должны помещаться между двумя обратными косыми чертами, чтобы они не читались как ключевые слова. Пример: ip proto \tcp\
ip6 proto протоколАналогично предыдущей комбинация, но для пакетов и типов IPv6
ip6 protochain протоколИщет пакеты IPv6, имеющие заголовок указанного протокола
ip protochain протоколТо же, что и выше, но для пакетов IPv4
ip broadcastИдентифицирует только широковещательный трафик, то есть трафик, имеющий все нули или все единицы в поле целевого адреса
ether multicastРегистрирует вещательные пакеты Ethernet
ip multicastРегистрирует вещательные пакеты IP
ip6 multicastРегистрирует вещательные пакеты IPv6
ether proto протоколОтображает трафик, который имеет указанный тип протокола Ethernet. Допустимыми именами протоколов служат ip, ipv6, arp, rarp, atalk, aarp, decnet, sca, lat, mopdl, moprc, iso, stp, ipx и netbeui. Эти имена являются также идентификаторами, поэтому они должны быть экранированы с помощью обратных косых черт
decnet src хостПерехватывает трафик DECnet с исходным адресом хоста
decnet dst хостАналогична предыдущей комбинация, но фильтрует целевой адрес хоста
decnet хостФильтрует трафик DECnet с исходным или целевым адресом хоста
ipСокращенный вариант описанной выше комбинации ether proto ip. Ловит трафик, соответствующий Ethernet-протоколу ip
ip6Сокращенный вариант описанной выше комбинации ether proto ip6. Ловит трафик, соответствующий Ethernet-протоколу ip6
arpСокращенный вариант описанной выше комбинации ether proto arp. Ловит трафик, соответствующий Ethernet-протоколу arp
rarpСокращенный вариант описанной выше комбинации ether proto rarp. Ловит трафик, соответствующий Ethernet-протоколу rarp
atalkСокращенный вариант описанной выше комбинации ether proto atalk. Ловит трафик, соответствующий Ethernet-протоколу atalk
aarpСокращенный вариант описанной выше комбинации ether proto aarp. Ловит трафик, соответствующий Ethernet-протоколу aarp
decnetСокращенный вариант описанной выше комбинации ether proto decnet. Ловит трафик, соответствующий Ethernet-протоколу decnet
isoСокращенный вариант описанной выше комбинации ether proto iso. Ловит трафик, соответствующий Ethernet-протоколу iso
stpСокращенный вариант описанной выше комбинации ether proto stp. Ловит трафик, соответствующий Ethernet-протоколу stp
ipxСокращенный вариант описанной выше комбинации ether proto ipx. Ловит трафик, соответствующий Ethernet-протоколу ipx
netbeuiСокращенный вариант описанной выше комбинации ether proto netbeui. Ловит трафик, соответствующий Ethernet-протоколу netbeui
vlan идентификатор_ВЛВСПерехватывает пакеты на основе стандарта 802.1Q VLAN. Идентификатор виртуальной локальной сети можно опускать
tcpСокращенная форма комбинации ip proto tcp
udpСокращенная форма комбинации ip proto udp
icmpСокращенная форма комбинации ip proto icmp
iso proto протоколПерехватывает пакеты ВОС с заданным типом протокола - clnp, esis или isis
clnpСокращенная форма описанной выше комбинации с clnp в качестве протокола
esisСокращенная форма комбинации iso proto протокол с esis в качестве протокола
isisСокращенная форма комбинации iso proto протокол с isis в качестве протокола



Содержание раздела