Le petit sorcier utilise un extension du noyau du réseau pour intercepter le trafic réseau.
Les ENC vous permettent de créer des modules qui peuvent être chargés et déchargés dynamiquement à des positions spécifiques dans la hiérarchie du réseau. Ces modules peuvent surveiller et modifier le trafic sur le réseau et peut recevoir des notifications d'événements asynchrones de la part de la couche pilote, tels que des changements d'état de l'interface.
Chaque mécanisme d'ICP de mise en réseau remplit une tâche spécifique. Les mécanismes de base des ICP de mise en réseau sont les suivants :
-
L'indicateur de performance clé du filtre de sockets, qui permet à un KEXT de filtrer le trafic entrant ou sortant sur un socket donné, en fonction de la manière dont ils sont attachés. Les filtres de sockets peuvent également filtrer les communications hors bande telles que les appels à setsockopt ou bind. Les filtres résultants se situent entre la couche socket et le protocole.
-
Filtre d'interface KPI, qui permet à un KEXT de ajouter un filtre à une interface réseau spécifique . Ces filtres d'interface (anciennement connus sous le nom de NKE de liaison de données) peuvent observer passivement le trafic (quel que soit le type de paquet) à l'entrée et à la sortie du système. Ils peuvent également modifier le trafic (par exemple, chiffrer ou effectuer une traduction d'adresse). Ils agissent essentiellement comme des filtres entre une pile de protocoles et un appareil.
Il existe des alternatives aux extensions du noyau réseau, comme vous l'avez mentionné, mais seulement pour certains cas d'utilisation.
Étant donné que même des bogues mineurs dans le code au niveau du noyau peuvent avoir des conséquences graves, notamment l'instabilité de l'application, la corruption des données et même des paniques du noyau, les techniques décrites dans ce document ne devraient être utilisées que si aucun autre mécanisme n'existe déjà. Par exemple, dans la mesure du possible, Le filtrage IP doit généralement être effectué à l'aide de ipfw
. De même, L'enregistrement des paquets doit généralement être effectué à l'aide de bpf
.
Les extensions du noyau du réseau sont beaucoup plus puissantes et permettent un contrôle plus détaillé.
C'est moi qui souligne le contenu de la citation. Je ne connais pas l'autre logiciel, mais je suppose qu'il suit le même principe.