Complex filter

From Allegro Network Multimeter Manual
Revision as of 15:10, 19 May 2022 by Ralf (talk | contribs)
Jump to navigation Jump to search


In different features such as the Capture module or the overview of the SIP module the Allegro Network Multimeter allows to use a diverse set of filters.

One of these filters is the complex or expert filter which allows to filter in a more complex way.

The filter are described in a C-Style-Syntax and support a combination with AND and OR operators, precedence order with parentheses and equal/not equal comparisons.

If more than one filter type is supported in a text field (for example in a table view), the complex filter has to be enclosed by parentheses.

If the filter expression can be evaluated to true, the packet gets captured, the connection is displayed and so on.

If a value contains a space, the whole value must be quoted with ".

Combination Operators

Following operators are supported:

Operator Description
and, && AND operator. The filter expression will match if all operands could be evaluated to true.
or, || OR operator. The filter expression will match if any operand can be evaluated to true.
! NOT operator. Inverts the expression result of the inner expression. Inner expression must be inside parentheses.

!( ... )

Available in firmware >= 3.6


Comparison Operators

The following comparison operators are overall supported but not in every feature:

Operator Description
==, eq Will evaluate expression to true if left and right operand are equal.
!=, ne Will evaluate expression to true if left and right operand are not equal.
=== Will evaluate expression to true if left and right operand are exact equal.
<= Will evaluate expression to true if left operad is less or equal to the right operand.
< Will evaluate expression to true if left operad is less than the right operand.
>= Will evaluate expression to true if left operad is more or equal to the right operand.
> Will evaluate expression to true if left operad is more than the right operand.
~ Will evaluate expression to true if left and right operand are approximately equal.

Note: Some fields contains multiple data sets so especially test for not equal does not work directly and the negation operator should be used. For example, the "interface" field may match multiple interfaces, if an IP address or connection has been seen on multiple interfaces.

Operands and Example

The operands depend on the feature where you want to use it.

Example from the Capture module:

  • portrange: A TCP or UDP port range. The range can be a single number or a comma separated list of values or value ranges.
Example:
portrange == 80,100-120,-10,65000-