ブール演算子、And、Or、Not を使用して複雑な条件を作成できます。
<And> <Or> <SomeBasicCondition> … </SomeBasicCondition> <SomeBasicCondition> … </SomeBasicCondition> <Not> <SomeBasicCondition> … </SomeBasicCondition> </Not> </Or> <Not> <And> <SomeBasicCondition> … </SomeBasicCondition> <SomeBasicCondition> … </SomeBasicCondition> </And> </Not> </And>
条件の結果は一旦評価され、Extended Boolean Values (拡張ブール値) になります。Extended Boolean Values は、true、unknown、false の何れかの値をとります。値 unknown は次のような場合になります。「現時点で評価できないが、さらにデータが利用できるようになったときに評価できる可能性がある」
これは、TcpRuleRecvProto および TcpRuleRecvUntil タイプのルールにとって重要です。TCP ルールの条件の結果が unknown 値の場合は、Recorder はスクリプト化を遅延し、よりデータがサーバーから受信した時点で条件を再評価します。
チェックを実行し、結合して (ブール演算子 And、Or、Not を使用して) 複雑な複合条件を構築できる、いくつかの基本条件の種類があります。
条件はある環境内で評価されます。環境を通して、条件は、条件を適用できる多くの文字列を利用できます。環境構成は、各ルールの種類によって異なります。詳細は、「条件評価環境」の節を参照してください。
多くの条件 (Scripting 条件を除く) は特定のデータのブロックに特定のチェックを適用します。どのデータをチェックするかを指定する方法には柔軟性があります。詳細は、セクション「条件のデータを指定する」を参照してください。