Du bist nicht angemeldet.

V4LL3

Registrierter Benutzer

  • »V4LL3« ist der Autor dieses Themas

Beiträge: 315

Dabei seit: 30. November 2009

  • Private Nachricht senden

1

Dienstag, 7. September 2010, 15:36

TCP OHNE offenen Port?

Hey Leute...ist es möglich eine TCP Verbindung aufzubauen ohne einen offenen Port im Router zu haben?

*Topic verschoben*

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Marcus Gräfe« (7. September 2010, 18:40)


hal2000

Super Moderator

Beiträge: 2 444

Dabei seit: 5. März 2009

Hilfreich-Bewertungen: 108

  • Private Nachricht senden

2

Dienstag, 7. September 2010, 15:38

Nein, ist es nicht.
Gruß
hal2000

Kangaroo

VB Panda

  • »Kangaroo« ist männlich

Beiträge: 2 767

Dabei seit: 13. Juni 2010

Hilfreich-Bewertungen: 256

  • Private Nachricht senden

3

Dienstag, 7. September 2010, 15:40

Als ausgehende Verbindung kannt Du normalerweise immer eine Verbindung aufbauen. Nur nicht wenn selbständig Verbindungen von aussen reinkommen, das verhindert alleine das NAT.

hal2000

Super Moderator

Beiträge: 2 444

Dabei seit: 5. März 2009

Hilfreich-Bewertungen: 108

  • Private Nachricht senden

4

Dienstag, 7. September 2010, 15:43

Als ausgehende Verbindung kannt Du normalerweise immer eine Verbindung aufbauen.

Aber nicht ohne einen Port für den Rückkanal zu öffnen. Es sei denn du erwartest keine Antwort auf die Pakete, was TCP allerdings ausschließt.
Gruß
hal2000

Kangaroo

VB Panda

  • »Kangaroo« ist männlich

Beiträge: 2 767

Dabei seit: 13. Juni 2010

Hilfreich-Bewertungen: 256

  • Private Nachricht senden

5

Dienstag, 7. September 2010, 16:17

Aber nicht ohne einen Port für den Rückkanal zu öffnen

Sorry , aber wie meinst Du das bitte ? Es ist ja der Sinn von NAT Routern die Adresse/Port des Absenders durch die eigene Adresse + unbenutzten Router-Port zu ersetzen und das entsprechend intern zu cachen.

Reine NAT DSL-Router wie sie heute im Privatbereich(!) üblich sind (auch mit SPI Paketfiltern) erfordern keine Öffnung des Rückkanal. Im Unternehmensbereich mag das durchaus anders sein.

hal2000

Super Moderator

Beiträge: 2 444

Dabei seit: 5. März 2009

Hilfreich-Bewertungen: 108

  • Private Nachricht senden

6

Dienstag, 7. September 2010, 17:25

Der TCP-Header gibt einen Quell- und einen Zielport an. Beim Verbindungsaufbau vom Heim-PC zum Internetserver wird ein zufälliger Port größer 1024 gewählt und in das Feld "Quellport" eingetragen. Erreicht das Paket den NAT-Router, ersetzt dieser die Quell-IP durch seine eigene (WAN-)IP und optional den Quellport durch einen selbst gewählten (das ist NAT). Weiterhin wird die Verbindung in eine Tabelle eingetragen und der soeben vergebene Quellport für den Empfang der Antwort geöffnet (das ist SPI). Nach der Verarbeitung durch den Server wird die Antwort an die Adresse und den Port geschickt, die der NAT-Router eingetragen hat. Dieser empfängt zunächst nur ein unbekanntes Paket. Er schaut in seiner Tabelle nach, ob ein Eintrag zu dem empfangenen Paket passt. Wenn nicht, wird das Paket verworfen. Wenn ja, wird das Paket weitergeleitet. Dabei wird die Ziel-IP, die ja noch die WAN-IP des Routers ist, mit der lokalen Adresse des ursprünglich anfragenden Rechners ersetzt. Selbiges geschieht mit dem Port, falls der Router diesen verändert hatte. Der Antwort-empfangs-Port bleibt offen, solange die Verbindung zum Server besteht, um keine Ressourcen zu verschwenden. Wird die verbindung getrennt, schließt der Router den Port und löscht den Tabelleneintrag. Für den Heim-PC und den Server ist das Verfahren transparent - beide bemerken nichts von der Paketänderung.

Um auf die ursprüngliche Frage (@Kangaroo) zurückzukommen: Der Router muss, für die Dauer der Verbindung, einen Port öffnen, um Antworten zu empfangen. Da alle (laut Tabelle) unpassenden Pakete jedoch verworfen werden, ist das nicht weiter schlimm. Würde der Port geschlossen bleiben, käme nie eine verbindung zustande. Ein Problem taucht in die andere Richtung auf, nämlich wenn der Server zu Hause steht:

Der NAT-Router verwirft zunächst alle Anfragen. Damit ist der Heim-Server nicht erreichbar. Soll eine Verbindung aus dem Internet zu ihm aufgebaut werden, muss der Router von vornherein alle Verbindungen auf einem bestimmten offenen Port ohne weitere Prüfung durchlassen. Der NAT-Mechanismus funktioniert wie oben, nur umgekehrt. Dummerweise greift SPI in diesem Fall nicht, denn der Port ist ja schon offen. die tabelleneinträge dienen dann nur noch der Zuordnung der Verbindungen, aber nicht mehr als Schutz.

Die Frage des Threaderstellers ist dagegen mit einem uneingeschränkten Nein zu beantworten, weil sich "TCP" und "keine geöffneten Ports" von vornherein ausschließen (für die Akademiker: ein klassisches Oxymoron :P ). TCP bietet zuverlässige verbindungsorientierte Kommunikation über nicht-zuverlässige Kanäle, was Empfangsbestätigungen (Antworten) impliziert. Dazu muss der Sender Empfangsbestätigungen annehmen können, z.B. durch einen geöffenten Port.

PS: Die Adressen stehen natürlich nicht im TCP-Header, sondern im IP-Header. Ich habe die Kombination allgemein mit "Paket" umschrieben.
Gruß
hal2000

  • »xXMichaelXx« ist männlich

Beiträge: 1 146

Dabei seit: 22. Mai 2009

Frühere Benutzernamen: xXMichaelXx

Hilfreich-Bewertungen: 14

  • Private Nachricht senden

7

Dienstag, 7. September 2010, 22:13

Kannst du mit einer geschlossenen Tür in ein Haus?
whitehouse:~$ rm -f /bin/laden

Kangaroo

VB Panda

  • »Kangaroo« ist männlich

Beiträge: 2 767

Dabei seit: 13. Juni 2010

Hilfreich-Bewertungen: 256

  • Private Nachricht senden

8

Dienstag, 7. September 2010, 22:21

Der Router muss, für die Dauer der Verbindung, einen Port öffnen, um Antworten zu empfangen

Nun, Hal2000 hat die Frage buchstabengetreu (verbaliter), ausführlich, korrekt und (vermutlich) am Sinn der Frage vollkommen vorbei beantwortet. Nichts dagegen auszusetzen, erinnert mich irgendwie an meine 2 Semester Jura, die mich damals schon an der Weltfremdheit der Juristen hat verzweifeln lassen.

Also sagen wir mal so: JA, es muss ein Port geöffnet werden und Nein der User muss bei ausgehenden Verbindungen keinen Port öffnen, da dies der Router schon für ihn übernimmt.

hal2000

Super Moderator

Beiträge: 2 444

Dabei seit: 5. März 2009

Hilfreich-Bewertungen: 108

  • Private Nachricht senden

9

Dienstag, 7. September 2010, 22:36

Zitat von »V4LL3«

ohne einen offenen Port im Router zu haben

der User

Es ging aber um den Router ^^ .

*ichnervekangaroo*

Zitat

Kannst du mit einer geschlossenen Tür in ein Haus?

Ja, wenn mir jemand die Tür aufmacht und ich blind bin.
Gruß
hal2000

Samus Aran

Registrierter Benutzer

  • »Samus Aran« ist männlich

Beiträge: 2 583

Dabei seit: 12. November 2009

Hilfreich-Bewertungen: 581

  • Private Nachricht senden

10

Dienstag, 7. September 2010, 22:55

Wenn du die geschlossene Tür durch den Eingang bekommst, kommst du auch mit ner geschlossenen Tür ins Haus. (Mit ner offenen ginge es theoretisch auch)

  • »xXMichaelXx« ist männlich

Beiträge: 1 146

Dabei seit: 22. Mai 2009

Frühere Benutzernamen: xXMichaelXx

Hilfreich-Bewertungen: 14

  • Private Nachricht senden

11

Mittwoch, 8. September 2010, 15:52

@hal: Es war ja nur ein Beispiel. ^^
(( Gedankenspiel ))
whitehouse:~$ rm -f /bin/laden

hal2000

Super Moderator

Beiträge: 2 444

Dabei seit: 5. März 2009

Hilfreich-Bewertungen: 108

  • Private Nachricht senden

12

Mittwoch, 8. September 2010, 15:53

@Michael: Ein äußerst gutes, wenn man es weiterspinnt.
Gruß
hal2000

Social Bookmarks