Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Center
ПримитивОписание
dst host HOSTИстинно, если поле IP-пакета "адрес получателя" (IPv4) совпадает со значением идентификатора "HOST" (может указываться имя или адрес хоста).
src host HOSTИстинно, если поле IP-пакета "адрес отправителя" совпадает со значением идентификатора "HOST".
host HOSTИстинно, если поле IP-пакета "адрес отправителя", либо поле IP-пакета "адрес получателя" совпадает со значением идентификатора "HOST".


Note
titleВНИМАНИЕ

Любое вышеуказанное выражение можно дополнить с помощью префиксов "ip", "ip6", "arp", "rarp".

ether dst EHOSTИстинно, если поле "адрес получателя" канального уровня совпадает со значением идентификатора "EHOST". "EHOST" должен быть представлен в следующем формате: XX:XX:XX:XX:XX:XX.
ether src EHOSTИстинно, если поле "адрес отправителя" канального уровня совпадает со значением идентификатора "EHOST".
ether host EHOSTИстинно, если поля "адрес отправителя" или "адрес получателя" канального уровня совпадают со значением идентификатора "EHOST".
dst net NETИстинно, если поле "адрес получателя" заголовка IP-пакета содержит заданный адрес, принадлежащий диапазону указанной сети "NET"
src net NETИстинно, если поле "адрес отправителя" заголовка IP-пакета содержит заданный адрес, принадлежащий диапазону указанной сети "NET".
net NETИстинно, если поля "адрес отправителя" или "адрес получателя" содержат заданный адрес, принадлежащий диапазону указанной сети "NET".
net net mask NETMASKИстинно, если IP-адрес содержит заданный адрес, принадлежащий диапазону указанной сети "NETс определенной маской "NETMASK". Можно дополнить примитивами "src" и "dst".
net NET/LENИстинно, если IP-адрес содержит заданный адрес, принадлежащий диапазону указанной сети "NETс определенной длиной маски "NET/LEN". Можно дополнить примитивами "src" и "dst".
dst port PORTИстинно, если порт получателя заголовка UDP или TCP содержит заданный номер порта "PORT".
src port PORTИстинно, если порт отправителя заголовка UDP или TCP содержит заданный номер порта "PORT".
port PORTИстинно, если порт отправителя или получателя заголовка UDP или TCP содержит заданный номер порта "PORT".
dst portrange PORT1-PORT2Истинно, если поле "порт получателя" заголовка UDP или TCP входит в заданный диапазон портов "PORT1-PORT2".
src portrange PORT1-PORT2Истинно, если поле "порт отправителя" заголовка UDP или TCP входит в заданный диапазон портов "PORT1-PORT2".
portrange PORT1-PORT2Истинно, если поля "порт получателя" или "порт отправителя" заголовка UDP или TCP входят в заданный диапазон портов "PORT1-PORT2".


Note
titleВНИМАНИЕ

Любые вышеуказанные выражения, связанные с фильтрацией по номеру портов/диапазону портов можно дополнить ключевыми словами "tcp" и "udp", в этом случае фильтрация будет дополнительно выполняться по значению протокола.

less LENGTHИстинно, если длина пакета меньше или равна "LENGTH". Это аналогично следующему выражению: "len <= length".
greater LENGTHИстинно, если длина пакета больше или равна "LENGTH". Это аналогично следующему выражению: "len >= length".
ip proto PROTOCOLИстинно, если в поле "PROTOCOL" заголовка IP-пакета содержится идентификатор указанного протокола. "PROTOCOL" - не только численные значения, но и стандартные имена протоколов: "icmp", "icmp6", "igmp", "igrp", "pim", "ah", "esp", "vrrp", "udp" или "tcp". Стоит иметь в виду, что символьные имена "tcp", "udp" и "icmp" также являются ключевыми, и перед ними должен быть помещен символ обратного слэша (\). Обратите внимание, что этот примитив не исследует всю цепочку заголовков протокола.
ip protochain PROTOCOLИстинно, если пакет является пакетом IPv4 и содержит в цепочке заголовков протоколов заданный протокол "PROTOCOL".
ether broadcastИстинно, если пакет является широковещательным пакетом Ethernet. Ключевое слово "ether" может быть опущено.
ether multicast Истинно, если пакет является пакетом групповой рассылки (или широковещательным) Ethernet. Ключевое слово "ether" может быть опущено. Это сокращенная форма записи выражения "ether[0] & 1 != 0".
ip multicastИстинно, если пакет является пакетом групповой рассылки (или широковещательным) в IPv4.
ether proto PROTOCOLИстинно, если в поле "protocol" заголовка пакета содержится идентификатор указанного протокола "PROTOCOL". "PROTOCOL" может принимать не только численные значения, но и стандартные имена протоколов: "icmp", "icmp6", "igmp", "igrp", "pim", "ah", "esp", "vrrp", "udp" или "tcp", но перед ними должен быть помещен символ обратного слэша (\).
svlan [vlan_id]

Истинно, если пакеты соответствуют IEEE 802.1Q с типом Ethernet заголовка 0x88A8.

В случае соединения Ethernet ОС WANFleX проверяет поле типа Ethernet для большинства протоколов. Исключения:

  • "iso", "stp" и "netbeui" - WANFLeX ОС проверяет кадр на соответствие стандарту 802.3, а затем проверяет заголовок LLC, как для FDDI, Token Ring и 802.11.
  • "atalk" - на AppleTalkWANFLeX проверяет ОС проверяет поле etype в кадре Ethernet, а также, для пакета SNAP-формата, FDDI, Token Ring и 802.11.
  • "aarp" - WANFLeX проверяет ОС проверяет на AppleTalk ARP как в кадре Ethernet, так и в стандарте 802.2 SNAP с OUI 0x000000.
  • "ipx" - WANFLeX проверяет на ОС проверяет на IPX поле etype в кадре Ethernet, IPX DSAP в заголовке LLC, 802.3-без-LLC-заголовка инкапсуляцию IPX и IPX etype в кадре SNAP.
vlan [vlan_id]

Истинно, если пакеты соответствуют IEEE 802.1Q с типом Ethernet заголовка 0x8100. Если указан "[vlan_id]", то фильтруются кадры с указанным "vlan_id".

Note
titleВНИМАНИЕ

Обратите внимание, что выражение "vlan [vlan_id]" может использоваться более одного раза для фильтрации по иерархиям VLAN.

mpls [label_num]

Истинно, если пакеты являются пакетами MPLS. Если указана метка MPLS "[label_num]", то фильтроваться будут пакеты с указанной "label_num".

Note
titleВНИМАНИЕ

Обратите внимание, что выражение "mpls [label_num]"  может использоваться более одного раза для фильтрации по иерархиям MPLS. 


pppoedИстинно, если пакеты являются пакетами PPP-over-Ethernet Discovery (Ethernet type 0x8863).
pppoesИстинно, если пакеты являются пакетами PPP-over-Ethernet Session (Ethernet type 0x8864).
iso proto PROTOCOLИстинно, если пакеты являются пакетами OSI, принадлежащими протоколу "PROTOCOL". Протокол может принимать численное значение или одно из следующих символьных: "clnp", "esis", "isis".
expr relop expr

Истинно, если "relop" принимает одно из следующих значений ">", "<", ">=", "<=", "=", "!=", а "expr" является арифметическим действием "+", "-", "*", "/", "&", "|", "<<", ">>". 

Note
titleВНИМАНИЕ

Все сравнения беззнаковые, так что, например, 0x80000000 и 0xffffffff будут > 0.

Чтобы получить доступ к данным внутри пакета, используется следующий синтаксис:"proto [ expr : size ]".

  • "proto" может принимать значения "ether", "fddi", "tr", "wlan", "ppp", "slip", "link", "ip", "arp", "rarp", "tcp", "udp", "icmp"и указывать уровень протокола для операции фильтрации. Значения "ether", "fddi", "tr", "wlan", "ppp", "slip", "link" относятся к канальному уровню. Стоит иметь в виду, что "tcp", "udp" и другие протоколы более высокого уровня применяются только к IPv4. 
  • "size" является необязательным параметром и показывает размер пакета в байтах. Может быть равен 1, 2 или 4, по умолчанию 1.

Длина пакета задается параметром "len".

Возможны следующие смещения полей заголовка протокола: "icmptype" (поле типа ICMP), "icmpcode" (поле кода ICMP) и "tcpflags" (поле метки TCP):

  • Возможные значения поля типа ICMP: "icmp-echoreply", "icmp-unreach", "icmp-sourcequench", "icmp-redirect", "icmp-echo", "icmp-routeradvert", "icmp-routersolicit", "icmp-timxceed", "icmp-paramprob", "icmp-tstamp", "icmp-tstampreply", "icmp-ireq", "icmp-ireqreply", "icmp-maskreq", "icmp-maskreply".
  • Возможные значения поля метки TCP: "tcp-fin", "tcp-syn", "tcp-rst", "tcp-push", "tcp-ack", "tcp-urg".

...