Complex filter
In different features such as the Capture module or the overview of the SIP module the Allegro-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. |
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. |
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-