[DIY] Fabriquer un tap Ethernet pour moins de 20€

tap_ethernet

Qu’est-ce qu’un Tap Ethernet ?

Un tap réseau, ou tap Ethernet, est un équipement physique (ordinateur, sonde, …) qui se branche entre plusieurs équipements (serveurs, ordinateurs, routeurs, imprimantes, …) afin de pouvoir capturer le trafic.

Dans la majorité des cas, un tap permet de capturer le trafic entre deux points d’un réseau afin de pouvoir l’analyser pour trouver des anomalies (intrusion, virus), pour enregistrer des données VoIp, pour sniffer des paquets, pour faire de la détection d’intrusion (IDS) ou bien encore pour recetter une installation (adsl bien calibré).

Un tap est généralement utilisé avec des logiciels de monitoring et de supervision de réseau. Personnellement j’utilise WireShark et TCPDump (sur lesquels je définis des filtres).

Un tap sera utilisé afin d’améliorer la sécurité de votre architecture réseau. En effet, un tap est non intrusif, indétectable sur le réseau car aucune adresse ip ne lui est assignée.

Un tap peut être utilisé pour:

  • capturer le trafic entre 2 équipements de votre réseau informatique (bypass et passthrough)
  • agréger les données provenant de plusieurs équipements

Il existe plusieurs sortes de tap: fibre, ethernet, usb, etc…

Personnellement j’ai eu l’occasion de tester un ProfiTap qui se connecte en USB sur le pc d’analyse et qui prend 2 ports Ethernet en entrée. Ce type de sonde est simple à utiliser et fonctionne bien mais contrairement à des sondes plus performante, elle se limite à du 100Mb.

Parmis toutes les sondes professionnelles, c’est une des moins chers mais il faudra quand même déboursé 1000€.

Bien sûr, ce n’est pas grand chose comparé à certaines probes (sondes) fibres peuvent être vendues plusieurs dizaines de milliers d’euros.

N’ayant pas un budget illimité (malheureusement :-(), j’ai décidé de me lancer dans la réalisation d’un tap ethernet homemade et low cost.

Fabriquer un Tap Ethernet: difficile ?

En me lançant dans ce projet, j’étais plutôt pessimiste car je suis novice en électronique, et pas forcément super manuel.

J’ai donc effectué plusieurs recherches et j’ai trouvé toutes les informations nécessaires à la réalisation d’un tap Ethernet.

Parmis toutes mes lectures, l’élément le plus important est sans aucun doute le schéma suivant (trouvé sur Snort).

Ce schéma est très simple à comprendre. On dispose de 2 hosts et de 2 taps qui permettent de monitorer chacun des hosts.

On notera que 2 paires de fils (4-5 et 7-8) ne passent pas par les taps. C’est tout à fait normal car les câbles éthernet n’utilisent que 2 paires de fils: (1-2 pour transmettre les datas et 3-6 pour recevoir les datas).

C’est pourquoi pour pouvoir monitorer les transmissions de chaque host, il nous faudra une tap par host (une pour le traffic entrant et une pour le trafic sortant).

Le tap que nous allons fabriquer sera conforme à ce schéma: 2 ports pour les hosts et 2 ports pour les tap.

J’ai tout de même essayé de faire un tap à 3 ports (2 hosts et 1 tap) en mirrorant les fils sur les 3 connecteurs éthernet mais j’ai eu un résultat bizarre au niveau de WireShark.

Fabriquer un Tap Ethernet pour moins de 20€

Vous l’aurez compris: mon objectif est de fabriquer un tap ethernet avec un budget relativement bas. Comme je suis assez maniac, j’ai opté pour des composants de qualité mais il est possible de faire un tap ethernet avec uniquement 2 câbles éthernet, un fer à souder et un peu de patience.

Tout d’abord voici le matériel nécessaire:

  • 4 RJ45 KeyStone Jack Catégorie 5: 8€
  • 1 Wall Plate 4 ports RJ45: 5€
  • 1 Back Plate: 5€
  • 1 câble éthernet catégorie 5 de 20cm: 2€ (vous pouvez utiliser un vieux câble)

On arrive donc à un total de 20€. Les frais de ports sont inclus et tout le matériel a été acheté sur Ebay car ce sont les meilleurs tarifs que j’ai trouvé.

La première étape consiste à couper le câble ethernet, le dénuder puis séparer les 4 paires de fils:

Rangez les câbles par paires de couleur:

 

Vous remarquerez que sur chaque keystone, il y a un code couleur qui va vous aider dans votre cablage:

Désormais nous allons cabler le Host A. Prenez un keystone puis connectez les 8 fils en vous aidant d’un puncher (trouvable sur Ebay à 2€) ou d’un petit tournevis plat:

Coupez l’excédent au ciseau à ras bord du keystone puis mettez les bouchons de fixations:

Prenez un second keystone qui sera notre Host B puis connectez y les paires bleues et marrons:

A présent nous allons connecter le Host A à la tap A puis à l’Host B. Nous allons donc prendre un troisième keystone, y brancher les cables orange et orange rayés. Ensuite l’excédent sera branché sur l’Host B.

Puis l’on fera la même chose avec le quatrième keystone et les câbles vert puis on branche les keystones sur le wall plate:

Je vous conseille de tester si les connexions fonctionnent avant de mettre les caches de keystones.

Il ne vous reste plus qu’à mettre le tout dans le back plate et votre tap éthernet sera terminée:

 

 

 

Comment utiliser le Tap Ethernet ?

Pour utiliser le Tap éthernet c’est simple: il suffit de brancher deux équipements sur les ports de Hosts (par exemple une freebox sur HostsA et un routeur sur HostB).

Ensuite, brancher TapA ou TapB ou les deux sur votre machine d’analyse (dans mon cas un RaspBerryPi), configurer vos interfaces en mode promiscuous puis lancer votre outil de capture (Snort, Wireshark ou TCPDump par exemple).

Pour passer une interface en mode promiscuous, il faut taper la commande suivante:

ifconfig eth0 promisc

Pour supprimer le mode promiscuous, il faut utiliser la commande:

ifconfig eth0 -promisc

Si vous souhaitez analyser le trafic entrant et le trafic sortant simultanément, il faudra brancher les taps sur une machine disposant de 2 ports éthernet et lancer 2 outils de capture.

Dans le cas où vous souhaiteriez capturer les 2 taps avec un seul WireShark, il vous faudra créer un pont (Bridge) entre vos 2 interfaces.

Pour cela, il faut installer le paquet bridget-utils:

apt-get install bridge-utils

Puis créer le pont avec la commande suivante (br0 est le nom de l’interface de bridge):

brctl addif br0 eth0 eth1

Enfin pensez que si vous souhaitez connecter votre ordinateur de capture sur votre réseau de manière classique (afin de se connecter en ssh par exemple), alors il vous faudra un troisième port ethernet.

Si vous souhaitez utiliser le tap éthernet sous Windows, il faut faire quelques modifications dans les paramètres de votre carte Ethernet: il faut supprimer l’ip fixe si vous en avez une et désactiver le contrôle de flux:

Il ne vous reste plus qu’à lancer WireShark pour capturer le trafic 🙂

Vous voila désormais prêt à vous lancer dans l’aventure de la réalisation d’un Tap Ethernet Homemade :).

11 Responses to [DIY] Fabriquer un tap Ethernet pour moins de 20€

  1. Christophe V says:

    Salut !

    Tout d’abord merci pour cet excellent tuto. J’ai tout suivi à la lettre et ça fonctionne à merveille. Par contre tu dis que tu as eu des résultats bizarres avec un TAP à 3 ports. Tu pourrais m’en dire plus stp ? Car ça m’intéresserait d’en avoir un à 3 ports histoire de capturer les trafics entrant et sortant.

    • jhd says:

      en fait tu mets tout mais sur 1 seul connecteur, après c’est le promiscuous de wireshark qui fera le reste

      • Christophe V says:

        Merci pour ta réponse. C’est effectivement ce que je me suis dit aussi mais dans l’article il est dit la chose suivante:

        “J’ai tout de même essayé de faire un tap à 3 ports (2 hosts et 1 tap) en mirrorant les fils sur les 3 connecteurs éthernet mais j’ai eu un résultat bizarre au niveau de WireShark.”

        Du coup je me demandais s’il y avait une subtilité…

  2. Bruno says:

    Bonjour,

    Merci pour le tuto.
    Je souhaiterais savoir si pour réaliser le TAP 3 ports il faut connecter la paire orange sur les pins 1&2 du connecteur TAP A et la paire bleu sur les pins 3 et 6?
    Merci par avance

  3. azerty says:

    J’allais te conseiller d’acheter un hub a 5 euros qui fait exactement la même chose, mais je n’en trouve plus aucun sur ldlc ou amazon.
    A croire que ça fait un siècle que ça a disparu …

  4. Seiken says:

    Bonjour,

    Je déterre un peu le sujet mais cette technique permet-il de conserver le débit de 1Gbit/s ?

    Si non comment peut-on faire ?

    Merci d’avance.

    • jhd says:

      La tap telle que je l’ai faite ne fonctionne qu’avec des réseau 100Mb. En gigabit c’est beaucoup plus compliqué car les 4 paires de fils du cable ethernet sont utilisées.

Leave a Reply

Your email address will not be published. Required fields are marked *