Sponsor-Board.de
tcpdump Linux bridge

+- Sponsor-Board.de (https://www.sponsor-board.de)
+-- Forum: Community (/forumdisplay.php?fid=56)
+--- Forum: Plauderecke (/forumdisplay.php?fid=39)
+--- Thema: tcpdump Linux bridge (/showthread.php?tid=65807)


tcpdump Linux bridge - MK-Hosting - 19.01.2019 20:29

Hallo zusammen,

aktuell teste ich einige Dinge mit dem Banana Pi R2 ([Link: Registrierung erforderlich]) aus.

Primär geht es es hierbei um das sniffen von Netzwerktraffic.

Folgendes vorhaben:
Ein Kunde hat ein LAN, im welchen sich 10 Rechner befinden.
Von da aus geht es zur Firewall und von da aus ab ins WAN. Standard und nichts aufregendes.

Nun möchte ich gerne den Traffic (in beide Richtungen) mit lesen. Sprich, ich möchte wissen, welcher Traffic von der Firewall ins Netz geht und welcher aus dem Netz raus in die weite große Welt geht.
Die genannte Hardware hat mehrere Schnittstellen, über welche ich eine Brücke gelegt habe. Verbindung klappt, die Clients erhalten über DHCP eine Netzwerkkonfiguration der Firewall und können ins Netz (Testumgebung).

Nun lasse ich auf einem Laptop im LAN einen Ping auf einen Server im WAN laufen (Regeln sind offen, ICMP kann durch). Allerdings sehe ich beim tcpdump keine entsprechenden Einträge. Egal, auf welches Interface ich den dump laufen lassen.

Bei den beiden Brückenenden (Sprich die Ports, welche gebrückt werden), kommen keinerlei Infos beim dump. Wenn ich die Brücke selber als Ziel des dumps wähle, erhalte ich Informationen des Banana Pi's selber. Jedoch nur die ARP Auflösungen, welche mich nicht interessieren.

Hat jemand eine Idee, wie ich den gesamten Traffic erwische? Habe bereits den -p Parameter bei tcpdump genommen, ohne Erfolg.
Fest steht, dass der Traffic definitiv über die Bridge geht.

Beste Grüße und vielen Dank Smile


RE: tcpdump Linux bridge - italian-power - 21.01.2019 03:08

Wie ist denn die Bridge Konfig des Pi ?
Was läust da für ein OS ?

Was genau willst du Brücken ?

Es sollte ja so aussehen LAN-Kunden-Switch -> PI-LAN -> (Firewall Dings) -> PI-WAN

Ich verstehe hier nicht was du miteinenader verbinden/bridgen möchtests.

Den Traffic siehst du dann am physischen Interface, promiscious Mode muss an sein, da hat ja nichts mit der Bridge zu tun.

Es ist anschließend vielleicht wichtig von welchen Bridgeport der Traffic herkam, oder welcher Bridgeport welchen Traffic macht aber so wie ich das verstehe siehst du nur Broadcasts und keinen normalen traffic. Entweder wird promiscious nicht erlaubt (könnte ein Kernel Unding sein) oder der Traffic ist defintiv nicht da.

Mach doch mal einen Ping auf die Firewall selbst und schau, ob du ICMP siehst.


RE: tcpdump Linux bridge - MK-Hosting - 21.01.2019 12:06

Zitat:
Wie ist denn die Bridge Konfig des Pi ?

Code:
auto lan1
iface lan1  inet manual
auto lan2
iface lan2 inet manual

auto br0
iface br0 inet static
    address 10.0.1.10
    gateway 10.0.1.1
    netmask 255.255.255.0
    bridge_ports lan1 lan2
    bridge_fd 5
    bridge_stp no


Zitat:
Was läust da für ein OS ?

Ein Debian 9 Image.

Zitat:
Was genau willst du Brücken ?

LAN1 und LAN2.

Hab dazu mal eine Skizze gemacht:
[attachment=4043]

Zitat:
Mach doch mal einen Ping auf die Firewall selbst und schau, ob du ICMP siehst.

Habe ich schon laufen. Sehe ich beim dump nicht. Ich sehe nur Layer2 Pakete wie ARP. Sehe den Layer3 Traffic aber nicht.


pushsubject - push - 23.01.2019 10:49

pushmessage


RE: tcpdump Linux bridge - italian-power - 24.01.2019 03:08

Ich werf das hier mal rein :

[Link: Registrierung erforderlich]

Also kurz gesagt.

tcpdump an ensX bzw. ethX sollte das Packet sehen, es wird dann vom Kernel verarbeitet und daher nicht noch weiter an die Bridge geleitet, daher siehst du dort nichts.

Du könntest ein virtuelles interface erstellen und den gesamten Traffic der Bridge über dieses Interface routen.

Sprich veth_host (IP Konfig hier) -> br0 -> ( lan_1 / lan_2 [...] / lan_X) -> client

Mittels tcpdump an tap_host sollte man dann Traffic (von allen Cleints, nicht nur ein Port lan_1 usw.) sehen, obs dafür eine schönere Lösung gibt - kp


RE: tcpdump Linux bridge - MK-Hosting - 24.01.2019 07:39

Zitat:
Sprich veth_host (IP Konfig hier) -> br0 -> ( lan_1 / lan_2 [...] / lan_X) -> client


Das verstehe ich nicht genau. Was meinst du damit?

Selbst wenn man sagen würde, dass der Traffic nicht über die Bridge geht - ok.
Aber wieso kann ich dann nicht den Traffic an den LAN Ports sehen?


RE: tcpdump Linux bridge - italian-power - 24.01.2019 19:44

MK-Hosting schrieb:

Zitat:
Sprich veth_host (IP Konfig hier) -> br0 -> ( lan_1 / lan_2 [...] / lan_X) -> client


Das verstehe ich nicht genau. Was meinst du damit?

Selbst wenn man sagen würde, dass der Traffic nicht über die Bridge geht - ok.
Aber wieso kann ich dann nicht den Traffic an den LAN Ports sehen?



Mit der Konfig siehst du den gesamten Traffic zum Pi von allen LAN Ports, andernfalls würdest du einen TCPDUMP je Lanport machen.

Es scheint echt eine Art Kernel Problem zu sein, wenn du promiscious anhast aber nichts am lan interface siehst.

Habe grade deinen Post bei Ubuntuusers gelesen.

Also lan0, lan1 usw. sind virtuelle interfaces von eth0, Traffic an eth0 direkt sollte sichtbar sein. (ggf. macht der Treiber hier Probleme, da es ja ein "Switch" ist)

Ist eth0 korrekt konfiguriert ? Welche Interfaces hast du genau schon versucht mit tcpdump ?

Mit V-Lans könnte ich noch was anfangen, die Bezeichnung ist mir aber fremd.

Sprich eth0 ist ein Switch, kein TCPdump, da Treiber zickt und lanX@eth0 geht nicht, da virtuelles Interface (Problem von oben).
Erstell ein neues vethX, verbinde das mit deiner Bridge und weise dem vethX eine IP zu - sollte ein funktionierender Roundawork sein, falls es echt am Treiber liegt.

** Ich war mir gerade nicht mehr sicher, daher der Nachtrag :

Habs soeben auf einer Debian VM getestet, Traffic sowohl an der Bridge als auch am Interface sichtbar.



Lediglich ein "echo 1 > /proc/sys/net/ipv4/ip_forward" war notwendig, aber funktioniert ja bei dir schon.


RE: tcpdump Linux bridge - MK-Hosting - 25.01.2019 18:21

italian-power schrieb:
Mit der Konfig siehst du den gesamten Traffic zum Pi von allen LAN Ports, andernfalls würdest du einen TCPDUMP je Lanport machen.

Wobei ich ja nur den Traffic von ausgewählten Lan Ports sehen möchte.
Wenn jetzt am LAN4 ein Netz hängt, was mich nicht interessiert, muss ich das nicht mitfiltern.


italian-power schrieb:
Es scheint echt eine Art Kernel Problem zu sein, wenn du promiscious anhast aber nichts am lan interface siehst.

Ganz genau, dass denke ich mittlerweile auch. An der Netzwerkkonfiguration liegt es nicht.


italian-power schrieb:
Also lan0, lan1 usw. sind virtuelle interfaces von eth0, Traffic an eth0 direkt sollte sichtbar sein. (ggf. macht der Treiber hier Probleme, da es ja ein "Switch" ist)

eth0 ist, soweit ich das verstanden habe, die CPU Schnittstelle. eth1 der WAN Port. Kenne mich mit diesen PI's leider nicht aus, kann daher nur spekulieren.


italian-power schrieb:
Ist eth0 korrekt konfiguriert ? Welche Interfaces hast du genau schon versucht mit tcpdump ?

Alles korrekt konfiguriert. Habe alle Interface schon durch Smile


italian-power schrieb:
Sprich eth0 ist ein Switch, kein TCPdump, da Treiber zickt und lanX@eth0 geht nicht, da virtuelles Interface (Problem von oben).
Erstell ein neues vethX, verbinde das mit deiner Bridge und weise dem vethX eine IP zu - sollte ein funktionierender Roundawork sein, falls es echt am Treiber liegt.

Werde morgen mal ins Büro fahren und austesten. Aber ob das klappt ist eine andere Frage ^^
Ich schreibe dann hier, was es gegeben hat.


italian-power schrieb:
Habs soeben auf einer Debian VM getestet, Traffic sowohl an der Bridge als auch am Interface sichtbar.

Ich auch. Aber das können wir leider nicht als Vergleich heranziehen, da die VM hier anders arbeitet als der PI.
Notfalls muss ich mir einen Raspberry bestellen und den nutzen.

Danke dir schon mal Smile


RE: tcpdump Linux bridge - MK-Hosting - 17.02.2019 17:58

Hallo zusammen,

nachdem ich nun auf den Raspberry Pi umgestiegen bin, funktioniert alles wunderbar und genau so, wie ich mir das vorgestellt habe.