Spécification d’un jeu de remise

Un jeu de remise spécifie les protocoles qui suivent un protocole. L’analyseur utilise un jeu de remise uniquement lorsque l’analyseur peut identifier le protocole suivant à partir des données dans une instance de protocole.

Par exemple, le protocole TCP a une propriété port qui identifie le protocole qui suit le protocole TCP. Une valeur de propriété de 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 remise suivant pour obtenir un descripteur pour le protocole que la propriété Port spécifie.

[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 remise sont stockés dans le fichier INI de l’analyseur. Par exemple, le jeu de remise TCP précédent se trouve dans tcpip.ini fichier. Notez que si une DLL de l’analyseur prend en charge plusieurs protocoles, chaque analyseur qui utilise un jeu de remise a son propre emplacement dans le fichier INI.

Les informations de jeu de remise 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. Moniteur réseau prend tous les protocoles qui précèdent et ajoute le protocole d’analyse aux sections de l’ensemble suivant du fichier INI de l’analyseur, pour chaque protocole précédent. Moniteur réseau stocke la liste des protocoles qui suivent dans la section du jeu de remise du fichier INI de l’analyseur.

Moniteur réseau stocke les informations du jeu de remise dans le fichier INI de l’analyseur, mais l’analyseur n’accède pas directement aux fichiers INI. Pour utiliser les informations du jeu de remise, l’analyseur appelle la fonction CreateHandoffTable pour créer une table de remise. En règle générale, la table de remise est créée lorsque l’analyseur enregistre le protocole. Une fois le protocole inscrit, Moniteur réseau crée une table de jeu de remise que l’analyseur peut utiliser.

L’analyseur utilise son jeu de remise lors de la reconnaissance des données. Tout d’abord, l’analyseur lit la valeur de la propriété qui identifie le protocole suivant. L’analyseur appelle ensuite GetProtocolFromTable pour obtenir un handle vers le protocole suivant. Enfin, l’analyseur retourne un pointeur vers le descripteur dans le paramètre phNextProtocol de RecognizeFrame.