Hi!
Aber das verbindungsorientierte TCP hat noch ein paar mehr Paketarten auf Lager. Da scheitert die Verbindung schon daran, dass keine Bestätigung auf das die Verbindung eröffnende SYN-Paket zurückkommt,
Ich kann das ACK doch fälschen, indem ich es verschicke ohne das SYN bekommen zu haben oder nicht? (hab ich doch eben beschrieben) Man muss natürlich wissen, _wann_ das ACK versendet wurde.Nein, du weißt die Sequenznummer nicht, auf die du antworten musst.
Kann A nicht die Sequenznummer, die er selbst abgeschickt hat, herausfinden? Ich wüsste nicht, wie dies verhindert werden sollte, wenn er bis auf die Firewall kompletten Zugriff auf seinen Rechner hat. Er teilt diese dann auf einem anderen Wege B mit und die Sache läuft. (klar, am Anfang _muss_ eine andere Übermittlung funktionieren)
B sendet nicht von sich aus aus heiterem Himmel eine Bestätigung auf das SYN-Paket, also SYN+ACK.
Doch tut B. Was hindert ihn theoretisch daran?Der vorhandene TCP/IP-Stack. Du könntest natürlich versuchen, den zu umgehen, aber ob da Java mitmacht?
Zudem weiß B nicht, auf welchem Port geantwortet werden soll und welche Sequenznummer A verwendet hat.
Gut, dass muss dann natürlich alles im Vorhinein ausgetauscht werden.Und wie? So ohne Server (wolltest du ja ausgeschlossen haben)
Nur ganz kurz anfänglich. _Irgendwie_ müssen sich die Teilnehmer ja bekannt sein, man kann schließlich schlecht alleine spielen. ;)