Also du hast Recht, das mit den RAW-Sockets war Blödsinn!
Ich habs jetzt geschafft die UDP-Sockets mit dem Interface zu verbinden, nur ankommen (oder senden) will nichts...
Hier mein aktueller Code (läuft ohne Fehlermeldung):
Code:
import socket
interface = "wlan1"
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
s.setsockopt(socket.SOL_SOCKET, socket.SO_RESUREPORT, 1)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BINDTODEVICE, interface)
s.bind(("",5555))
print("bound")
while True:
data, addr = s.recvfrom(1024)
print("received message: " + data)
und
Code:
import socket
import time
interface = "wlan1"
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
s.setsockopt(socket.SOL_SOCKET, socket.SO_RESUREPORT, 1)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BINDTODEVICE, interface)
msg = b"Hi"
while True:
s.sendto(msg, ('<broadcast>',5555))
print("sent")
time.sleep(1.0)
Beide WLAN-Adapter laufen im Monitor Mode auf Channel 5 (2.432GHz).
Gruß
Chris
EDIT:
Ich hab mir vorhin noch tcpdump runtergeladen, das zeigt auf der Sender-seite nichts an....
Lesezeichen