[Python-de] UDP Socket-Programmierung und "falsche" IP-Adressen

helge at nicht-laut.de helge at nicht-laut.de
Mo Aug 5 14:54:51 CEST 2013


Hallo schönste, beste und einzige deutsche Python-Liste :-)

Ich habe ein kleines Problem mit der Socket-Programmierung unter Python 
(2.7.3 unter openSUSE 12.3). Ich habe ein Script geschrieben, welches 
UDP-Daten von anderen Netzwerkteilnehmern im gleichen LAN (ethernet, 
VLAN, Layer2 eben) entgegennimmt:

from socket import *
cs = socket(AF_INET, SOCK_DGRAM)

cs.settimeout(1)
cs.bind(('',UDP_GET_PORT))

while True:
         try:
                 data, addr = cs.recvfrom(1024)
                 print "\nincoming messages:", data.encode("hex"), "\n"
                 print "from address: ", addr, "\n"
         except timeout:
                 cs.close()
                 print "End"
                 break

Das ganze funktioniert wie gewünscht, wenn die Teilnehmer im gleichen 
IP-Subnetz sind. Ich möchte aber auch die Messages erhalten, die von 
Geräten stammen, die nicht im gleichen Subnetz hängen, bzw. mit der 
IP-Adresse 0.0.0.0 an die Broadcast-Domäne (255.255.255.255) senden. Ich 
sehe die Pakete via wireshark aber sie werden nicht im Script 
verarbeitet.

Weiss da jemand weiter? Ich habe die Vermutung, dass das kein 
python-spezifisches Problem ist!?

Vielen Dank und Gruß aus Bochum,
Helge


Mehr Informationen über die Mailingliste python-de