Lors des «dumps» le collecteur sauve l'état de sa table dans un fichier. Le format de ces fichiers de collecte dépend de la version du collecteur.
Versions du collecteur antérieures à 5.0
Un fichier de collecte est constitué d'un en-tête et d'une suite de «blocs».
La structure de l'en-tête est la suivante :
type du champ | taille (en octets) | signification |
uint16_t | 2 | numéro de version, 2 avant la version 5.0 du collecteur |
time_t | 4 | date de début de collecte (en secondes depuis EPOCH) |
time_t | 4 | date (de début) du (dernier) 'dump' (en secondes depuis EPOCH) |
time_t | 4 | durée de la collecte (en secondes) |
uint32_t | 4 | nombre d'entrées dans la table |
À chaque entrée de la table correspond un bloc composé d'un en-tête de bloc et d'un tableau de valeurs.
L'en-tête de bloc a la structure suivante :
type du champ | taille (en octets) | signification |
uint64_t | 8 | clé de l'entrée correspondante de la table : c'est la concaténation de l'adresse IP source et l'adresse IP destination ; les deux adresses sont au format «réseau» |
uint32_t | 4 | nombre d'éléments dans le tableau associé à cette entrée |
uint32_t | 4 | octets de remplissage |
void* | 4 | octets de remplissage |
Chaque élément du tableau a quant à lui la structure suivante :
type du champ | taille (en octets) | signification |
uint32_t | 4 | concaténation du service et du protocole |
uint64_t | 8 | nombre d'octets cumulés pour ce couple service/protocole (et pour les adresses source et destination correspondantes) |
Version 5.0 et suivantes du collecteur
Un fichier de collecte est constitué d'un en-tête suivi de deux parties concernant respectivement les flux IPv4 et les flux IPv6.
La structure de l'en-tête est la suivante :
type du champ | taille (en octets) | signification |
uint16_t | 2 | numéro de version, 3 depuis la version 5.0 du collecteur |
time_t | 4 | date de début de collecte (en secondes depuis EPOCH) |
time_t | 4 | date (de début) du (dernier) 'dump' (en secondes depuis EPOCH) |
time_t | 4 | durée de la collecte (en secondes) |
La partie concernant les flux IPv4 débute par le nombre de couples d'adresses source/destination IPv4 collectés (éventuellement nul)
type du champ | taille (en octets) | signification |
uint32_t | 4 | nombre d'entrées dans la table des flux IPv4 |
et se poursuit par autant de blocs de données qu'il y a de couples d'adresses IPv4.
Chaque bloc correspond à une entrée de la table du collecteur et est composé d'un en-tête de bloc et d'un tableau de valeurs.
L'en-tête de bloc a la structure suivante :
type du champ | taille (en octets) | signification |
struct in_addr | 4 | adresse IPv4 source au format «réseau» |
struct in_addr | 4 | adresse IPv4 destination au format «réseau» |
uint32_t | 4 | nombre d'éléments dans le tableau associé à cette entrée |
Chaque élément du tableau a la structure suivante :
type du champ | taille (en octets) | signification |
uint32_t | 4 | concaténation du service et du protocole |
uint64_t | 8 | nombre d'octets cumulés pour ce couple service/protocole (et pour les adresses source et destination correspondantes) |
La partie concernant les flux IPv6 débute par le nombre de couples d'adresses source/destination IPv6 collectés (éventuellement nul)
type du champ | taille (en octets) | signification |
uint32_t | 4 | nombre d'entrées dans la table des flux IPv6 |
et se poursuit par autant de blocs de données qu'il y a de couples d'adresses IPv6.
Chaque bloc correspond à une entrée de la table du collecteur et est composé d'un en-tête de bloc et d'un tableau de valeurs.
L'en-tête de bloc a la structure suivante :
type du champ | taille (en octets) | signification |
struct in6_addr | 16 | adresse IPv6 source au format «réseau» |
struct in6_addr | 16 | adresse IPv6 destination au format «réseau» |
uint32_t | 4 | nombre d'éléments dans le tableau associé à cette entrée |
Chaque élément du tableau a la structure suivante :
type du champ | taille (en octets) | signification |
uint32_t | 4 | concaténation du service et du protocole |
uint64_t | 8 | nombre d'octets cumulés pour ce couple service/protocole (et pour les adresses source et destination correspondantes) |
Interprétation des fichiers de collecte
L'interprétation d'un tel fichier résultat se fait avec la commande netMETexp
qui selon l'option utilisée affiche lisiblement les résultats détaillés, des cumuls par organismes/sous-réseaux, ou des cumuls tous services confondus.
<< Le fichier de configuration du collecteur | Documentation | Architecture du processus de collecte >>