Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: UDP Paket senden Snoop Komponente

  Alt 26. Mai 2010, 19:23
Was genau ist denn deine Frage? Also zumindest in der zweiten Funktion sieht man doch recht genau, wie das Paket erstellt wird:

Delphi-Quellcode:
procedure snoopSendTCPBlock(Pcap: PPcap;
  MyMac: PMACADDR;
  ETHHdr: PETH_HDR;
  IPHdr: PIP_HDR;
  TCPHdr: PTCP_HDR);
Die Parameter werden ganz normal im Funktionskopf übergeben und dann in der Funktion intern auf die jeweiligen MyXXX Variablen übertragen:

Delphi-Quellcode:
MyETHHdr^.Destination := [b]ETHHdr[/b]^.Destination;
  MyETHHdr^.Source := MyMac^;
  MyETHHdr^.Protocol := [b]ETHHdr[/b]^.Protocol;
  MyIPHdr^.VerLen := [b]IPHdr[/b]^.VerLen;
  MyIPHdr^.Service := [b]IPHdr[/b]^.Service;
  // ..
Die Funktion snoopSendPacket bzw. pcap_sendpacket sendet einfach das Paket. Ich vermute mal, dass du beim Verschicken eines UDP Pakets das Paketframe mit IP, etc. am Anfang des Buffers hinzufügen musst. Eigentlich bin ich mir da ziemlich sicher, weil es beim TCP Beispiel genauso ist.
  Mit Zitat antworten Zitat