Einen passiven Ethernet-Tap bauen
(blog.lvmbdv.dev)- Um den Leerlauf-Traffic eines Smart-TVs direkt zu prüfen, wurde statt des Throwing Star LAN Tap für 39 € ein passiver Ethernet-Tap mit RJ45-Breakout-Boards und einem Mini-Breadboard nachgebaut
- Dieser Tap wird inline zwischen Router und Zielgerät eingesetzt, kopiert das Signal auf zwei Monitor-Ports und funktioniert ohne Stromversorgung, Software oder Konfiguration
- J1-J2 bleiben wie ein 8-polig durchverbundenes Patchkabel, während J3 und J4 die bidirektionalen TX-Paare jeweils auf die RX-Paare der Monitoring-Geräte führen, um die Traffic-Richtung getrennt zu beobachten
- Zwei 220-pF-Kondensatoren an den ungenutzten Paaren der Monitor-Ports stören die Gigabit-Autonegotiation, senken den Link auf 100 Mbps und zapfen so nur die zwei Paare von 100BASE-TX an
- Im Smart-TV-Test wurden in 7,5 Minuten 2.769 Pakete bei durchschnittlich 14 kbps erfasst; der 100-Mbps-Link blieb ohne CRC-Fehler stabil, sodass der passive Tap für Experimente ausreichend gut funktioniert
Ein passiver Ethernet-Tap auf dem Breadboard
- Nach dem Blick auf den Throwing Star LAN Tap sollte geprüft werden, wie viel ein Smart-TV kommuniziert, aber statt 39 € auszugeben, wurde ein Mini-Breadboard-Nachbau gebaut
- Ein passiver Ethernet-Tap ist ein einfaches Inline-Gerät, das zwischen Zielgerät und Router sitzt
- Es kopiert das Signal auf zwei zusätzliche Monitor-Ports
- Traffic kann physisch nicht wieder eingespeist werden
- Es benötigt weder Stromversorgung noch Software oder Konfiguration
- Die Monitor-Ports sind nur Empfang, wodurch das Risiko sinkt, versehentlich ein DoS im Netzwerk auszulösen
-
Verdrahtung und Erzwingen von 100 Mbps
- Der Tap hat vier RJ45-Buchsen
- J1 ist mit dem Computer verbunden, J2 mit dem Router
- J1 und J2 sind pinweise direkt verbunden und verhalten sich elektrisch wie ein Patchkabel
- J3 überwacht den Traffic vom Computer zum Router
- Das TX-Paar von J1 auf den Pins 1·2 wird auf das RX-Paar von J3 auf den Pins 3·6 geführt
- J4 übernimmt den Traffic in Gegenrichtung
- Das TX-Paar von J2 wird auf das RX-Paar von J4 geführt
- Die Pins 1·2 von J3 und J4 bleiben unbeschaltet, damit der Monitoring-Computer nichts senden kann
- Zwei 220-pF-Keramikkondensatoren überbrücken die ungenutzten Paare der Monitor-Buchsen
- C1 ist mit J3 Pin 4-5 verbunden, C2 mit J4 Pin 7-8
- Diese Kondensatoren stören die Gigabit-Autonegotiation auf dem blauen und braunen Paar und zwingen den Link auf 100 Mbps herunter
- 100-Mbps-Ethernet nutzt nur zwei der vier Paare, und genau diese zwei Paare werden in dieser Konfiguration angezapft
- Wenn auf Gigabit ausgehandelt wird, verteilt sich der Datenverkehr über alle vier Paare und ist mit diesem Tap schwer zu beobachten
Aufbau und Capture-Ergebnisse
- Der ursprüngliche Throwing Star LAN Tap nutzt eine kundenspezifische Leiterplatte, dieser Aufbau besteht jedoch aus vier RJ45-Breakout-Boards, zwei Kondensatoren und einem Mini-Breadboard
- Der Inline-Pfad wird auf einer Seite des Breadboards durch acht direkt verbundene Leitungen zwischen J1 und J2 gebildet
- Die Monitor-Taps zweigen vom Inline-Pfad ab
- J3 verbindet Jumper von J1 Pin 1·2 zu J3 Pin 3·6
- J4 verbindet J2 Pin 3·6 zu J4 Pin 3·6
- Die Kondensatoren überbrücken direkt die ungenutzten Paare der Monitor-Buchsen
- Es gab Bedenken, dass parasitäre Effekte des Breadboards das Signal verschlechtern könnten
- 100BASE-TX arbeitet bei 125 MHz
- Die parasitäre Kapazität zwischen benachbarten Reihen eines Breadboards liegt typischerweise bei 2-5 pF, außerdem passt die Impedanz nicht
- Da die Inline-Leitungen kurz sind, blieb das Signal dennoch problemlos erhalten
- Für ein Produktionsnetzwerk wäre ein Breadboard schwer einsetzbar, für passive Tap-Experimente funktioniert es jedoch ausreichend gut
- Der Tap wurde zwischen Smart-TV und Router gesetzt, ein Desktop-PC wurde mit den Monitor-Ports verbunden und zeichnete den Traffic auf
- In den ersten 7,5 Minuten wurden 2.769 Pakete mit durchschnittlich 14 kbps beobachtet
- Der Smart-TV im Leerlauf sendete überwiegend Control-Traffic und Geräteerkennungs-Traffic
- Das TV sendete in weniger als fünf Minuten 877 SSDP-NOTIFY-Pakete an
239.255.255.250 - Über IPv4 und IPv6 wurden dieselben Dienste und dieselben Ankündigungen zusätzlich per mDNS broadcastet
- Ein Smart-Gerät
192.168.3.7in einem anderen Subnetz sendete in Bursts 34 Broadcast-Frames - Der Router
192.168.2.254antwortete auf alles mit IGMP-Queries
- Über alle 2.769 Frames hinweg gab es 0 CRC-Fehler, und die Link-LED blieb stabil bei 100 Mbps
- Sobald ein USB-Ethernet-Adapter ankommt, kann auch echter Laptop-Traffic angezapft werden
1 Kommentare
Kommentare auf Lobste.rs
Wenn man einen konfigurierbaren Switch hat, ist die Chance recht groß, dass er für solche Zwecke Port Mirroring unterstützt.
Wenn man nichts selbst bauen will, ist das der einfachere Weg.
Zumindest habe ich noch keinen Managed Switch für Verbraucher gesehen.
Der Kern solcher Projekte scheint das Capturing zu sein, daher hätte ich mir gewünscht, dass der Teil mit dem Packet Capture stärker hervorgehoben wird.
Auch mein Smart-TV erzeugt im Standby neben mDNS und SSDP Unmengen an unerwünschtem Traffic.
Ich habe noch keinen USB-Ethernet-Adapter für den Laptop, deshalb war die Konfiguration zwischen Desktop und TV ziemlich umständlich.
Wenn der Adapter angekommen ist, schreibe ich vermutlich einen interessanteren Beitrag mit Fokus darauf.
Eine billigere und noch grobere Methode ist, dasselbe mit zwei Punchdown-Keystone-Buchsen zu machen.
https://janitha.com/articles/passive-splice-network-tap/
Als ich Networking gelernt habe, erinnere ich mich, dass es Ethernet-Hubs gab, die so aufgebaut waren, dass die Sendeseite jedes Ethernet-Ports an die Empfangsseite aller anderen Ports gebroadcastet wurde.
Das wäre dafür doch ungefähr eine Zwischenlösung, denke ich.
Natürlich habe ich so einen primitiven Hub nie tatsächlich gesehen. Vielleicht bin ich einfach zu jung …
Natürlich sind sie kollisionsanfällig und daher nicht besonders zuverlässig.
Gekauft habe ich keinen, aber in diesem Video habe ich das Innenleben gesehen: https://youtu.be/QgrVVyIzecM?t=266
Dadurch fühle ich mich alt ;-)
Danach dürfte das Kollisionsrisiko zu einem zu großen Problem geworden sein.