Spécification d’un jeu de handoffs
Un jeu de transfert spécifie les protocoles qui suivent un protocole. L’analyseur utilise un jeu de transfert uniquement lorsque l’analyseur peut identifier le protocole suivant à partir des données d’un instance de protocole.
Par exemple, le protocole TCP a une propriété de port qui identifie le protocole qui suit le protocole TCP. La valeur de propriété 20 indique que le protocole suivant est FTP. Une valeur de propriété de 53 indique que le protocole suivant est DNS. Étant donné que la propriété port identifie le protocole qui suit, l’analyseur TCP peut utiliser le jeu de transfert suivant pour obtenir un handle pour le protocole spécifié par la propriété de port.
[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
Les jeux de transfert sont stockés dans le fichier INI de l’analyseur. Par exemple, le jeu de transfert TCP précédent se trouve dans tcpip.ini fichier. Notez que si une DLL d’analyseur prend en charge plusieurs protocoles, chaque analyseur qui utilise un jeu de transfert a son propre emplacement dans le fichier INI.
Les informations de jeu de transfert sont spécifiées lors de l’implémentation de la fonction ParserAutoInstallInfo . L’analyseur peut spécifier les protocoles qui précèdent le protocole de l’analyseur et les protocoles qui suivent le protocole de l’analyseur. Network Monitor prend tous les protocoles qui précèdent et ajoute le protocole de l’analyseur aux sections suivantes de l’ensemble du fichier INI de l’analyseur , pour chaque protocole précédent. Network Monitor stocke la liste des protocoles qui suivent dans la section handoff set du fichier INI de l’analyseur.
Network Monitor stocke les informations du jeu de transfert dans le fichier INI de l’analyseur, mais l’analyseur n’accède pas directement aux fichiers INI. Pour utiliser les informations contenues dans le jeu de documents, l’analyseur appelle la fonction CreateHandoffTable pour créer une table de transfert. En règle générale, la table de transfert est créée lorsque l’analyseur inscrit le protocole. Une fois le protocole inscrit, le Moniteur réseau crée une table de jeu de documents que l’analyseur peut utiliser.
L’analyseur utilise son jeu de documents lors de la reconnaissance des données. Tout d’abord, l’analyseur lit la valeur de la propriété qui identifie le protocole suivant. Ensuite, l’analyseur appelle GetProtocolFromTable pour obtenir un handle au protocole suivant. Enfin, l’analyseur retourne un pointeur vers le handle dans le paramètre phNextProtocol de RecognizeFrame.