Forum: Mikrocontroller und Digitale Elektronik Ethernet switch als sniffer


von Qone (Gast)


Lesenswert?

Hallo zusammen,

Ich versuche gerade mit einem ethernet switch einen sniffer zu 
realisieren.
Der switch hat 2 ports und einen host port, zu dem alle packete weiter 
geleitet werden sollen.

Aktuell werden packete nur mit ethernet mac als destination zum host 
port weiter geschickt. Mit unbekannten mac addressen kann ich die 
packete nicht empangen.

Ich komme hier nicht weiter. Kann jemand mir weiter helfen?

Danke!

von Peter II (Gast)


Lesenswert?

Qone schrieb:
> Ich komme hier nicht weiter. Kann jemand mir weiter helfen?

was sollen wir da machen? Wir wissen nicht über den Switch.

Eventuell steht ja im Datenblatt wie man einen Monitor-Port schalten 
kann.

von (prx) A. K. (prx)


Lesenswert?

Wenn der Switch unmanaged ist und daher schon prinzipiell kein Port 
Forwarding unterstützt, dann geht das schlicht und einfach nicht. 
Jedenfalls nicht offiziell. Inoffiziell kann man ihn möglicherweise so 
lange mit MAC-Adressen fluten bis er aufgibt und zum Hub wird.

von mh (Gast)


Lesenswert?

Qone schrieb:
> Aktuell werden packete nur mit ethernet mac als destination zum host
> port weiter geschickt. Mit unbekannten mac addressen kann ich die
> packete nicht empangen.

Definiere "ethernet mac" und "unbekannten mac addressen".

von abceea (Gast)


Lesenswert?

Qone schrieb:
> Ich komme hier nicht weiter. Kann jemand mir weiter helfen?

Eine Switch zum Sniffen zu verwenden ist nicht leicht.

Entweder du "bombst" die Switching-Engine in den HUB-Modus, indem du die 
MAC-Tabelle überlaufen lässt (was auch nur bei den billigen passiert).

Oder du holst dir eine gescheite Switch der Port-Monitoring unterstützt. 
Daran kannst du dich völlig passiv annabeln.

von Daniel A. (daniel-a)


Lesenswert?

Man könnte auch einfach bei einem Ethernetkabel die RX adern anzapfen 
und an ein weiteres Lan-Kabel daran anschliessen.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Und genau aus diesem Grunde haben wir auch noch jeweils einen 10MBit/s- 
und 100MBit/s-Hub, die in der vergoldeten Samtschatulle im NEMP-sicheren 
Tresor aufbewahrt werden... Naja, fast. Neulich hatte ein Mitarbeiter 
den kostbaren 100MBit/s-Hub aus Unkenntnis bei einem Kunden 
zurückgelassen. Als ich diesen Hub dann bei meinem nächsten Besuch dort 
herumliegen sah, bekam ich einen gewaltigen Schreck und bat um Rückgabe.

von dunno.. (Gast)


Lesenswert?

Andreas S. schrieb:
> nd genau aus diesem Grunde haben wir auch noch jeweils einen 10MBit/s-
> und 100MBit/s-Hub, die in der vergoldeten Samtschatulle im NEMP-sicheren
> Tresor aufbewahrt werden...

naja, ist ja nicht so dass man nicht switches mit entsprechender 
funktionalität (dann auch selektiv :) ) kaufen könnte..

Netgear GS108Ev3 sei zb. hier genannt..

von (prx) A. K. (prx)


Lesenswert?

So arg teuer sind Switches mit mindestens rudimentärem Management nun 
auch nicht mehr.

von Daniel A. (daniel-a)


Lesenswert?

Noch ein Link zu meinem Vorschlag:
http://janitha.com/articles/passive-splice-network-tap/

von Student (Gast)


Lesenswert?

Mal ganz anders gedacht:
Wie wäre es mit ner Linux Box und zwei oder mehr Netzwerkkarten? Da 
kannst du dann wenigstens direkt mit iptables arbeiten für deine Regeln.

Oder du nutzt ARP-Spoofing, da du ja sonst ohnehin jeden Switch im 
Netzwerk monitoren müsstest.

von Qone (Gast)


Lesenswert?

mac Destination ist mac adresse vom switch. Das bedeutet, wenn ich 
irgendwelche packte an mac Adresse vom switch schicke = Destination 
adress
Dann leitet er die an Host port weiter. Was ist eigentlich logisch.

Pakete mit any dst mac any src mac data werden an host port nicht weiter 
geleitet.

Ich habe auch port2 als mirror port konfiguriert und host port als 
sniffer. Aber das gleiche.

von Axel G. (axelg) Benutzerseite


Lesenswert?

Daniel A. schrieb:
> Man könnte auch einfach bei einem Ethernetkabel die RX adern anzapfen
> und an ein weiteres Lan-Kabel daran anschliessen.

Bis zu 100 Mbit ging sowas. (Wenn die Segmente kurz waren.) Bei 1 Gbit 
bekommst du soviele Reflexionen, daß nur noch Unsinn dabei raus kommt. 
Und der Vorschlag den braunen Leiter durchzuschneiden um die 
Verbindungen in den 100 Mbit Modus zu zwingen ist kreativ aber man 
möchte doch in dem Zustand mitschneiden, in dem die Verbindung auch 
sonst genutzt wird.

Port mirroring ist schon die Methode der Wahl und so ab 50 € zu haben.

von mh (Gast)


Lesenswert?

Aus dem wirren Text lässt sich eigentlich nur ableiten, dass der Switch 
zwar managed ist, aber wohl falsch konfiguriert ist.

Lies' doch bitte Deine Posts nochmal durch, bevor Du auf "Absenden" 
klickst und überlege, ob Dein Text (mit den Angaben, die Du gibst) 
verständlich ist.

Ein Anfang wäre, uns mitzuteilen, wie denn Dein Switch heißt 
(Hersteller, Typ).

von packete (Gast)


Lesenswert?

packete, was ist das ???

von Alex M. (alex_m83)


Angehängte Dateien:

Lesenswert?

mh schrieb:
> Aus dem wirren Text lässt sich eigentlich nur ableiten, dass der Switch
> zwar managed ist, aber wohl falsch konfiguriert ist.
>
> Lies' doch bitte Deine Posts nochmal durch, bevor Du auf "Absenden"
> klickst und überlege, ob Dein Text (mit den Angaben, die Du gibst)
> verständlich ist.
>
> Ein Anfang wäre, uns mitzuteilen, wie denn Dein Switch heißt
> (Hersteller, Typ).


Es geht hier um LAN9312 Ethernet Switch.
Laut Datenblatt unterstützt der Switch Port Mirroring.
Im Register SWE_PORT_MIRROR kann man ports als Mirror und Sniffer 
konfigurieren. Das habe ich auch getan (Port2 Mirrored, Port0 Sniffer). 
Trotztem schickt mirrored port keine Pakete mit fremden MAC Adressen an 
Host port weiter.Ich schicke auf Ethernet Frames mit ausgedachten MACs.

Ethernet->Port2----> Port0--->uC
Ethernet->Port1---->

Wo kann das Problem sein?

von Max M. (jens2001)


Lesenswert?

Alex M. schrieb:
> Es geht hier um LAN9312 Ethernet Switch.

Die Verwirrung ist komplett!

von Alex M. (alex_m83)


Lesenswert?

Max M. schrieb:
> Alex M. schrieb:
>> Es geht hier um LAN9312 Ethernet Switch.
>
> Die Verwirrung ist komplett!

Das sehe ich schon:)

von Michael X. (Firma: vyuxc) (der-michl)


Lesenswert?


von Qone (Gast)


Lesenswert?

Ist vielleicht eine zusätzliche Einstellung notwendig und nur mirror 
port Konfiguration ist nicht ausreichend?

von Eberhard H. (sepic) Benutzerseite


Lesenswert?

Qone schrieb:
> Ist vielleicht eine zusätzliche Einstellung notwendig und nur mirror
> port Konfiguration ist nicht ausreichend?

Eventuell gelten die im Mirror-Port ankommenden Pakete als gefiltert 
(siehe "Forwarding Rules" im Datenblatt) und werden dann nicht im 
Sniffer-Port gespiegelt.

Laut Datenblatt muss man dann noch das "Enable RX Mirroring 
Filtered"-Bit im SWE_PORT_MIRROR-Register setzen.

Dann werden solche gefilterten Pakete jedoch nur an den Sniffer-Port 
weitergeleitet.

- Wie ist SWE_PORT_MIRROR eingestellt (alle Bits)?
- Sind irgend welche Filter-Vorschriften gesetzt?
- Werden Pakete verworfen (siehe MIB/Statistik-Counter)?

Anstatt selbst Ethernet-Pakete zu erfinden, solltest Du den Switch mit 
seinen Ports 1 und 2 in eine bestehende Ethernet-Verbindung einfügen 
(dort auftrennen und den Switch dazwischen) und dann an Port 0 den 
Verkehr zwischen den Ports 1 und 2 überprüfen. Dann kannst Du sehen, ob 
der Verkehr über den Switch normal abläuft.

PS: Ich kenne den LAN9312 nicht aus eigenen praktischer Erfahrung (nur 
andere Switches).

von Qone (Gast)


Lesenswert?

Eberhard H. schrieb:
> Qone schrieb:
> Ist vielleicht eine zusätzliche Einstellung notwendig und nur mirror
> port Konfiguration ist nicht ausreichend?
>
> Eventuell gelten die im Mirror-Port ankommenden Pakete als gefiltert
> (siehe "Forwarding Rules" im Datenblatt) und werden dann nicht im
> Sniffer-Port gespiegelt.
>
> Laut Datenblatt muss man dann noch das "Enable RX Mirroring
> Filtered"-Bit im SWE_PORT_MIRROR-Register setzen.
>
> Dann werden solche gefilterten Pakete jedoch nur an den Sniffer-Port
> weitergeleitet.
>
> - Wie ist SWE_PORT_MIRROR eingestellt (alle Bits)?
> - Sind irgend welche Filter-Vorschriften gesetzt?
> - Werden Pakete verworfen (siehe MIB/Statistik-Counter)?
>
> Anstatt selbst Ethernet-Pakete zu erfinden, solltest Du den Switch mit
> seinen Ports 1 und 2 in eine bestehende Ethernet-Verbindung einfügen
> (dort auftrennen und den Switch dazwischen) und dann an Port 0 den
> Verkehr zwischen den Ports 1 und 2 überprüfen. Dann kannst Du sehen, ob
> der Verkehr über den Switch normal abläuft.
>
> PS: Ich kenne den LAN9312 nicht aus eigenen praktischer Erfahrung (nur
> andere Switches)

Danke fürs Feedback

Hier sind meine Einstellungen:

Mirrorport= 4 (100)- mirror port2
Snifferport=1 (001)- sniffer port0 host
Enable rx mirroring filtered= 1

In switch noch vlan für diese zwei ports gesetzt.
Port0 ist ein Access port
Port2 hybrid port
Insert tag port2

von Alex M. (alex_m83)


Lesenswert?

Ich habe immer noch das Problem, dass die ethernet frames von Mirrored 
port2 zu Sniffer port0 nicht kopiert werden.

Hier ist die Register Beschreibung:
Switch Engine Port Mirroring Register (SWE_PORT_MIRROR)

0    Enable TX Mirroring
1    Enable RX Mirroring
4:2  Mirrored Port
7:5  Sniffer Port
8    Enable RX Mirroring Filtered
31:9 RESERVED



Hier ist meine Konfuguartion:
LAN9312_PHY_REG_SF_SWE_PORT_MIRROR_t mirror;

mirror.ENABLE_RX_MIRRORING = 1;
mirror.MIRRORED_PORT = 4;
mirror.SNIFFER_PORT = 1;
mirror.ENABLE_RX_MIRRORING_FILTERED = 1;



Anscheinend muss man noch zusätzlich irgendetwas konfigurieren.
Hat jemand eine Idee ?

von hal9000 (Gast)


Lesenswert?

Ich möchte mal wissen warum man so einen murks ins internet stellen 
muss?
das ist unter dem gesichtspunkt hf einfach nzr eine 
fehlkonstruktion.....

von Sven D. (Gast)


Lesenswert?

abceea schrieb:
> Switch zum Sniffen zu verwenden ...

Das nennt sich dann Snitch :-)
SCNR

von Alex M. (alex_m83)


Lesenswert?

Ich sehe, es ist einfach zu komplexes Thema für Einige :)

Hat jemand praktische Erfahrung mit SMSC Ethernet Switch?
Wäre echt dankbar, wenn jemand aufklären könnte, wie man Port Mirroring 
konfiguriert.

von Tiramisu (Gast)


Lesenswert?

>Ich habe immer noch das Problem, dass die ethernet frames von
>Mirrored port2 zu Sniffer port0 nicht kopiert werden.

Nehmen wir an, Du hast eine Verbindung von einem
Rechner R1 an 100Mbit/s-Port P1 an Rechner R2 an Port P2(100Mbit/s).
Dann kann der Rechner R1 ueber die Verbindung an P1 an
den Rechner R2 mit 100 MBit/s senden. Ebenso kann (gleichzeitig)
R2 an R1 mit 100MBit/s senden. Kummulativ 200Mbit/s.
Du hast einen "Sniffer-Port" mit 100MBit/s RX an den Snifferrechner. Got 
it?
(Normalerweise ist das kein Problem bei TCP, weil es einen TCP
slowstart gibt und normalerweise die interessanten Effekte
am Beginn der Verbindung passieren).

Wenn Du umfassend aufzeichnen willst, empfehle ich eine
Linux oder OpenBSD L2-Bridge aufzusetzen und mit tcpdump -w file ...
das Problem zu capturen und mit wireshark zu analysieren.
Im Netz findest Du massenhaft Anleitungen und es ist unabhaengig
von der Verfuegbarkeit 20 Jahre alter HUBs. (RiP!)

von Alex M. (alex_m83)


Lesenswert?

Tiramisu schrieb:
>>Ich habe immer noch das Problem, dass die ethernet frames von
>>Mirrored port2 zu Sniffer port0 nicht kopiert werden.
>
> Nehmen wir an, Du hast eine Verbindung von einem
> Rechner R1 an 100Mbit/s-Port P1 an Rechner R2 an Port P2(100Mbit/s).
> Dann kann der Rechner R1 ueber die Verbindung an P1 an
> den Rechner R2 mit 100 MBit/s senden. Ebenso kann (gleichzeitig)
> R2 an R1 mit 100MBit/s senden. Kummulativ 200Mbit/s.
> Du hast einen "Sniffer-Port" mit 100MBit/s RX an den Snifferrechner. Got
> it?
> (Normalerweise ist das kein Problem bei TCP, weil es einen TCP
> slowstart gibt und normalerweise die interessanten Effekte
> am Beginn der Verbindung passieren).
>
> Wenn Du umfassend aufzeichnen willst, empfehle ich eine
> Linux oder OpenBSD L2-Bridge aufzusetzen und mit tcpdump -w file ...
> das Problem zu capturen und mit wireshark zu analysieren.
> Im Netz findest Du massenhaft Anleitungen und es ist unabhaengig
> von der Verfuegbarkeit 20 Jahre alter HUBs. (RiP!)

Am Sniffer Port hängt ein uC, der aller Nachrichten von Port2 (Ext 
Ethernet) bekommen soll.
Also mit Mirror Port geht nicht.

Ich habe auch versucht, Weiterleitung von bestimmten Eth. Frames mit den
statischen Einträgen in ALR zu machen. Die gewünschte DA MAC Adresse 
wird auch richtig ALR gespeichert. Die Weiterleitung des Frames mit der 
DA MAC Adresse an port0 passiert nicht.

Von daher ist meine Frage, dass eine bestimmte Konfiguration in Switch 
noch fehlt. Deine Empfehlung mit Linux löst mein Problem nicht.

von Michael Samer (Gast)


Lesenswert?

Die Methode hat lange gut funktioniert (von Allen an Alle) und ist/war 
auch meine schönste Version; behindert aber das Mithören da HalfDX 
einfach unschön ist und im Switchmodus sowieso die Messung verfälscht. 
Wenn mehrere reden (Switch) läuft die Bandbreite über. MultiPort 
Mirroring auf besseren Switches ist da schon deutlich neutraler 
(Verfälscht nicht) und kann halt auch GBit und höher. LEIDER sieht man 
defekte Pakete (z.B. defekte Octete) meist nicht da die der PHY selbst 
rausfilter. Bei einem Hub war das so real das man schreien konnte :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.