2. La solution

Tout d'abord, quelques informations théoriques relatives à la cryptographie:

  1. Les données chiffrées sont uniformément distribuées, i.e., ont une entropie maximale par symbole;

  2. Les données brutes, non compressées sont en générale redondantes, i.e., n'ont pas une entropie maximale.

Supposez que vous pourriez mesurer l'entropie des données à destination et en provenance de votre interface réseau. Alors vous pourriez voir la différence entre données non-chiffées et données chiffrées. Cela serait vrai même si certaines des données en “mode chiffré” n'étaient pas chiffrées --- comme l'en-tête IP externe, si le paquet doit être routable.

2.1. MUST

L'“Universal Statistical Test for Random Bit Generators”( MUST) d'Ueli Maurer, ou encore le “test statistique universel pour les générateurs aléatoires de bits”, mesure rapidement l'entropie d'un échantillon. Il utilise une sorte d'algorithme de compression. Le code est donné ci-dessous pour une variante qui mesure les morceaux (environ un quart de mégaoctet) successifs d'un fichier.

2.2. Tcpdump

Nous avons également besoin d'une manière de capturer les données réseau brutes. Un programme appelé tcpdump(1) vous permet de faire cela, si vous avez activé l'interface Berkeley Packet Filter (Filtre de Paquet de Berkeley) dans votre fichier de configuration du noyau.

La commande

tcpdump -c 4000 -s 10000 -w dumpfile.bin

capturera 4000 paquets bruts dans le fichier dumpfile.bin. Dans cet exemple jusqu'à 10000 octets par paquets seront capturés.

Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.

Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.