Einzelnen Beitrag anzeigen

Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Winsock Fehler ("ungültige" IP Adresse)

  Alt 23. Aug 2003, 20:20
Ich weiß nicht genau, welche Header bei RawSockets schon dabei sind und welche man noch hinzufügen muss.
Die Header der ersten beiden Schichten (MAC-Adresse etc.) sind sicher schon dabei, aber ob du den IP-Header auch selbst mitschicken musst, weiß ich nicht. Den TCP/UDP-Header musst du aber bestimmt selber basteln.

Ein Datenverkehr ist immer zwischen zwei Sockets aufgebaut; ein Socket ist die Kombination aus IP-Adresse und Port. Um dich in den Datenverkehr einzuklinken, musst du praktisch ein IP-Paket mit den Adressen und Ports der jeweiligen Verbindungspartner. Evtl. muss auch noch das Paket des Transportprotokolls entsprechend verändert (nur bei TCP: Acknowledgementnumer etc.).
Die Sache ist aber die: Wenn der Remote-Rechner das Paket nicht annehmen will, dann tut er das auch nicht. Eine Verbindung geht über ein Two-Way- oder Three-Way-Handshake, das ist der Autausch von TCP-Paketen mit gegenseitig abgestinnten Ack-Nummern.
Wie gesagt, wenn der Remote-Rechner die Verbindung nicht annehmen will, dann tut er es auch nicht.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat