Zitat Zitat von Che Guevara Beitrag anzeigen
also mittlerweile bin ich soweit zu wissen, dass das nur mit einem "RAW" socket funktionieren kann.
Das glaube ich eher nicht. Es gibt genügend Beispiele in C, die das machen. Meisst wird der Socket an die IP-Adresse des Interfaces gebunden. Ich zeige aber nochmal ein Python Beispiel um sicherzugehen.

The socket module may not offer SO_BINDTODEVICE for portability reasons. If you are absolutely sure that you're running on Linux that supports it, try replacing it with it's numerical value, which is 25:

s.setsockopt(socket.SOL_SOCKET, 25, "eth1"+'\0')
Or for python 3:

s.setsockopt(socket.SOL_SOCKET, 25, str("eth1" + '\0').encode('utf-8'))
So funktioniert es also nicht?

Den kann ich mit einem Interface binden, allerdings kann ich immer noch nichts senden....
Vorschläge etc sind weiterhin willkommen!
Hier der code für den RAW-socket:
Code:
import socket
import time
import cv2

sock = socket.socket(socket.PF_PACKET, socket.SOCK_RAW, socket.IPPROTO_RAW)
sock.bind(("wlan1",0))

while True:
    sock.send("test")
    print("sent")
    time.sleep(1.0)
Im RAW-Mode ist das nicht ganz so einfach. Hier mal ein Text dazu. Das wird mit Sicherheit kein Dreizeiler.

Irgendwie hab ich das Ganze immer noch nicht verstanden. Ohne einige Angaben kann ich doch über Wlan nicht wirklich etwas senden. Mindestens der Kanal muß doch irgendwie eingestellt werden, sonst kann der Empfänger nichts empfangen. Und wenn der Empfänger im "Monitor-Mode" ist, wird er mit allem zugetextet, was alle anderen Wlans in Reichweite auf diesem Kanal senden. Jetzt muß die Anwendung alles auseinandersortieren, was sonst meisst der Netzwerkchip anhand der MAC-Adresse macht. Daß das besser sein soll, als einfach UDP zu verwenden, will mir nicht wirklich einleuchten.

MfG Klebwax