![]() |
IPV4 Paket Header erstellen
Hallo,
ich hab mal (wieder) eine Frage. Ich bekomme über eine DLL Daten geliefert und möchte die als UDP Signal weiterleiten. Dafür muss ich für die Daten ein 20Byte großen IPv4 Header erstellen. Ich habe die Multicast Adresse und den Port, nebst einem PByteArray und dessen Länge. Hat das jemand schon mal gemacht, ansonsten fürchte ich darf ich das wohl selber erstellen. Peter PS: Ich glaube die CRC Prüfsumme zu erstellen wird am schwierigsten.
Delphi-Quellcode:
function checksum(ABuffer: PByteArray; ALength: Integer): Word;
var i: integer; w: word; s: word; begin s := 0; i:=0; while i<ALength do begin w := ABuffer^[i] shl 8 + ABuffer^[i+1]; s := s + w; inc(i,2); end; s := (s shl 16) + (s and $ffff); result :=(not s) and $FFFF; end; |
AW: IPV4 Paket Header erstellen
Wäre es nicht komfortabler, eine fertig gestrickte Lösung wie Indy oder Synapse zu verwenden?
Die schreiben dann die Header und die Nutzlast in die IP Pakete. |
AW: IPV4 Paket Header erstellen
Prinzipiell schon, aber ich muss das ganze als PCAP speichern. Da ist es einfacher das selber zu machen, denn streng genommen wird dass nicht direkt ins Netzwerk gespeichert.
Peter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz