Seite 1 von 1
UDP Socket - Absender Port
Verfasst: Montag 5. Mai 2008, 12:41
von ax
Hallo,
ist es irgendwie möglich bei einem UDP-Socket den Absender Port zu setzen? Ich wüsste jetzt nur den Weg über einen Raw-Socket. Aber mich interessiert ob es halt auch speziell über einen UDP-Socket irgendwie geht? Der Gedanke dahinter ist, ganz speziell definierte Pakete senden zu können
Danke schonmal.
Ax
Verfasst: Montag 5. Mai 2008, 12:54
von veers
Kannst du uns etwas genauer sagen was du machen willst?
Die Antwort auf deine Frage wird vermutlich
socket.bind sein
Gruss,
Jonas
Verfasst: Montag 5. Mai 2008, 15:03
von ax
Ok ich versuch mich mal klarer auszudrücken.
Im UDP-Header gibt es Source und Destination Ports. Wenn ich einen Socket erstelle, kann ich normalerweise nur den Destination-Port setzen. Der Source-Port wird vom Kernel automatisch gewählt. Ich will/muss jetzt für ein Projekt UDP-Pakete erzeugen, bei denen ich explizit den Source-Port setzen möchte. Socket.bind scheint da in die richtige Richtung zu gehen.
Hat jemand da vielleicht ein kurzes Beispiel parat?
Verfasst: Montag 5. Mai 2008, 15:12
von Trundle
Code: Alles auswählen
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(('', 1234))
s.sendto('Spam', ('localhost', 2323))
Wobei ``1234`` hier eben der Port deiner Wahl wäre. Aber spätestens, wenn das Paket durch eine NAT läuft, dürfte der Port nicht mehr stimmen.
Verfasst: Montag 5. Mai 2008, 15:17
von ax
Ok danke Leute, das war ja doch viel einfacher als gedacht.
