Specifica di un set di handoff
Un set di handoff specifica i protocolli che seguono un protocollo. Il parser usa un set di handoff solo quando il parser può identificare il protocollo successivo dai dati in un'istanza del protocollo.
Ad esempio, il protocollo TCP ha una proprietà di porta che identifica il protocollo che segue il protocollo TCP. Il valore della proprietà 20 indica che il protocollo successivo è FTP. Il valore della proprietà 53 indica che il protocollo successivo è DNS. Poiché la proprietà della porta identifica il protocollo seguente, il parser TCP può usare il set di handoff seguente per ottenere un handle per il protocollo specificato dalla proprietà della porta.
[TCP_HandoffSet]
20 = FTP
21 = FTP
23 = TELNET
25 = SMTP
53 = DNS
79 = FINGER
80 = HTTP
102 = ISO
111 = RPC
119 = NNTP
137 = NBT, 1000
138 = NBT, 1002
139 = NBT, 1001
389 = LDAP
445 = NBT, 1001
515 = LPR
612 = HMMP
613 = HMMP
1024 = NBT, 1001
1047 = NBT, 1001
1362 = TDS
1433 = TDS
1723 = PPTP
3020 = NBT, 1001
3268 = LDAP
5678 = PPTP
I set di handoff vengono archiviati nel file INI del parser. Ad esempio, il set di handoff TCP precedente si trova nel file tcpip.ini. Si noti che se una DLL del parser supporta più protocolli, ogni parser che usa un set di handoff ha la propria posizione nel file INI.
Le informazioni sul set di handoff vengono specificate durante l'implementazione della funzione ParserAutoInstallInfo . Il parser può specificare i protocolli che precedono il protocollo del parser e i protocolli che seguono il protocollo del parser. Monitoraggio di rete accetta tutti i protocolli che precedono e aggiunge il protocollo parser alle sezioni set seguenti del file INI del parser, per ogni protocollo precedente. Monitoraggio di rete archivia l'elenco dei protocolli che seguono nella sezione handoff set del file INI del parser.
Monitoraggio di rete archivia le informazioni del set di handoff nel file INI del parser, ma il parser non accede direttamente ai file INI. Per usare le informazioni nel set di handoff, il parser chiama la funzione CreateHandoffTable per creare una tabella handoff. In genere, la tabella handoff viene creata quando il parser registra il protocollo. Dopo la registrazione del protocollo, Monitoraggio di rete crea una tabella del set di handoff che il parser può usare.
Il parser usa il relativo set di handoff durante il riconoscimento dei dati. Il parser legge innanzitutto il valore della proprietà che identifica il protocollo successivo. Il parser chiama quindi GetProtocolFromTable per ottenere un handle al protocollo successivo. Infine, il parser restituisce un puntatore all'handle nel parametro phNextProtocol di RecognizeFrame.