Выражения Tcpdump
Выражения Tcpdump определяют выбор отображаемых сетевых пакетов. Именно здесь происходит реальная работа Tcpdump. Выдаются только те объекты, которые соответствуют выражению; если выражения не заданы, отображаться будут все пакеты. Выражение Tcpdump состоит из одной или нескольких директив, называемых примитивами, которые, в свою очередь, состоят из идентификатора и следующего за ним квалификатора. В табл. 6.3 перечислены три различных вида квалификаторов, а в табл. 6.4 - доступные комбинации примитивов.
Существуют также более сложные выражения, которые можно строить с помощью булевых операций, таких как И, ИЛИ, НЕ, и операций сравнения (больше, меньше и т.п.). Обратитесь к оперативной справке 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 |
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 в качестве протокола |