Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il filtro di corrispondenza del modello notifica al driver di accettare fotogrammi che presentano un modello specifico a un offset specifico. È possibile specificare un massimo di quattro corrispondenze dettagliate, che possono essere combinate in espressioni logiche AND o OR per la valutazione del driver del Monitor di rete.
Per implementare le corrispondenze di modelli, usare le strutture di Monitoraggio di Rete seguenti:
Per valutare un'istruzione OR, combinare da due a quattro corrispondenze di pattern in una struttura ANDEXP (PatternMatch1 || PatternMatch2 || PatternMatch3). Per valutare un'istruzione AND, combinare una o quattro strutture ANDEXP e una struttura EXPRESSION (AndExp1 && AndExp2).
Definizioni di corrispondenza dei criteri
Una corrispondenza di pattern singolo è definita dalla struttura PATTERNMATCH. Una singola corrispondenza può operare in uno dei due modi seguenti.
Normalmente, il driver prende la base di offset (che può essere OFFSET_BASIS_RELATIVE_TO_FRAME, OFFSET_BASIS_RELATIVE_TO_EFFECTIVE_PROTOCOL, OFFSET_BASIS_RELATIVE_TO_IPX o OFFSET_BASIS_RELATIVE_TO_IP) e inizia a contare lì. Il driver conterà i byte di offset a partire da lì e confronterà i dati che trova con i primi byte di lunghezza in PatternToMatch. Se sono uguali e il flag PATTERN_MATCH_FLAGS_NOT non è impostato, questo modello passa. Se sono diversi e la PATTERN_MATCH_FLAGS_NOT è stata impostata, il modello passa. In caso contrario, questo modello ha esito negativo.
O:
Se il flag PATTERN_MATCH_FLAGS_PORT_SPECIFIED è impostato e la base è impostata su OFFSET_BASIS_RELATIVE_TO_IPX o OFFSET_BASIS_RELATIVE_TO_IP, il confronto è più complesso. Prima di tutto, il driver garantisce che il protocollo di base di offset sia presente, quindi il driver verifica che la porta specificata corrisponda alla porta nel frame. Infine, il driver garantisce che il membro PatternToMatch corrisponda come in precedenza, con l'eccezione che l'offset parte dalla fine di IP o IPX. Si noti che se la base non è una di queste due, il flag PATTERN_MATCH_FLAGS_PORT_SPECIFIED verrà ignorato e il modello verrà valutato come indicato in precedenza.
Per valutare una corrispondenza con un singolo criterio, una strutturaEXPRESSIONdeve avere un membro AndExp contenente una corrispondenza a criterio singolo.
La costruzione del filtro di corrispondenza implica la creazione di strutture PATTERNMATCH e la loro combinazione logica con strutture EXPRESSION e ANDEXP.
Per scrivere un filtro PATTERNMATCH
- Nella struttura di ANDEXP, popolare l'array con corrispondenze di modelli.
- Popolare la struttura di EXPRESSION con una matrice di membri AndExp.
- Non superare un totale di quattro corrispondenze per il filtro di acquisizione.
- Nella struttura PATTERNMATCH, selezionare un tipo di flag.
- Selezionare una base di offset.
- Enumerare un valore di porta.
- Definire il valore di offset.
- Definire la lunghezza del pattern.
- Enumerare il valore del modello.
Esempi di PATTERNMATCH
Questo frame rappresenta un offset standard.
Il frammento di codice viene implementato come segue:
Basis -> IP
Offset -> 4 (bytes)
Length -> 2 (bytes)
PatternToMatch[ ] = {x00, x00}
Questo frame illustra un offset specificato per la porta (rispetto a IPX).
frame di offset specificato dalla porta
Il codice di esempio viene implementato come segue:
Port -> 544
Basis -> IPX
Offset -> 2 (bytes)
Length -> 2 (bytes)
PatternToMatch[ ] = {x00, x00}