• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Netzwerk-Interface (net_device) Problem! Wie Zugriff?

Mike1985

Newbie
Hallo liebe Gemeinde,

mein Ziel ist es auf eine bestehende net_device Struktur zuzugreifen (z.B. meines eth0 Interfaces).

Mit Hilfe eines SocketBuffs & der net_device Struktur möchte ich über eine send-Funktion Pakete über dieses Device schicken.

Das ganze soll auf unterster Ebene statt finden, also auch noch ein gutes Stück weit unter Sockets. Ich habe heraus gefunden dass es eine Kernel Variable "dev_base" gibt, die ein Pointer auf das erste net_device in einer Liste darstellt!

Mir fehlt aber das Verständnis wie ich an die Sache ran gehe. Das ganze ist völliges Neuland für mich.

Gibt es jmd. der mir dafür einen Ansatz geben kann wie ich so etwas programmier-technisch angehe, da ich mir noch nicht so ganz im Klaren bin, was das Zusammenspiel zwischen Interfaces, Devices und den verschiedenen Headern Dateien (netdevice.h, if.h) etc.pp ist.

Danke für alle Antworten & Hilfen!
 
Mike1985 schrieb:
Hallo liebe Gemeinde,

mein Ziel ist es auf eine bestehende net_device Struktur zuzugreifen (z.B. meines eth0 Interfaces).

Mit Hilfe eines SocketBuffs & der net_device Struktur möchte ich über eine send-Funktion Pakete über dieses Device schicken.
.....
Aha, ein Hacker ....

Erzeugte sockets mit flags SOCK_RAW und IPPROTO_RAW reichen dafür aus.
Für noch tiefere Grabungen empfehle ich den Tausch der ethernetkarte auf eine via-rhine tüchtige,
und ensprechende Anpassungen in diesem driver im Bereich socket(), also dem eigentlichen open() und ioctrl().

1. DMA abschalten in __init()
2. einen event einbauen mit tasklet_schedule und melden über send_sig
3. Das Schreiben in den Ringbuffer entfernen
4. Erweitern von ioctl mit schreiben in den FIFO des ethernetcontrollers
5. Entfernen der Sperre für das Ändern der PHY_ID als Teil der MAC
6. Test mit Schreiben in die PHY controllregister, LED aus/ein.
Damit steht die Karte völlig frei zum sniffen und schreiben zur Verfügung.
Aber Achtung.
Die richtige Paketierung und CRC über ethernet ist eine zu erfüllende Mindestanforderung,
sonst fahren alle eventuellen MS_clients in diesem Netz in den Keller.

also
 
Oben