Ports

Neue Frage »

Auf diesen Beitrag antworten »
eldi Ports

Meine Frage:
Hallo Miteinander

Ich habe einiges im Internet gelesen, verstehe jedoch noch nicht, wie die Ports funktionieren.

Wenn ich den Webbrowser öffne und eine Seite geladen wird, wird der Port 80 geöffnet um die Anfrage zu senden, schliesst dann den Port bis er eine Antwort erhält, um den Port 80 zu öffnen?

Wie erkennt er, dass es kein Angreifer ist aber eine Antwort?

Man sagt, dass es gefährlich ist Ports zu öffnen, aber wieso? Der 80er Port ist doch in dem Sinne auch offen für die Internetkommunikation?

Wenn ich den Xampp-Server/Apache starte, wird er da einen port freigeben , von dem ich von aussen erreichbar bin?

Meine Ideen:
meine "Ideen" stehen eigentlich oben,weiss nur nicht, ob die auch korrekt sind.


Wäre euch wirklich dankbar.
 
Auf diesen Beitrag antworten »
NixJava

Hallo.

Zitat:
Wenn ich den Webbrowser öffne und eine Seite geladen wird, wird der Port 80 geöffnet um die Anfrage zu senden

Normalerweise wird ein zufälliger höherer Port des Client gewählt, wenn eine Anfrage gestellt wird. Port 80 (HTTP) wird auf dem Server angesprochen.

Zitat:
schliesst dann den Port bis er eine Antwort erhält, um den Port 80 zu öffnen?

Wie erkennt er, dass es kein Angreifer ist aber eine Antwort?

Wie lange ein Port geöffnet bleibt bzw. wann dieser wieder explizit geschlossen wird, hängt vom verwendeten Protokoll ab. TCP und UDP sind die wohl verbreitesten Protokolle der Transportschicht. Deine zweite Frage ist gar nicht so leicht zu beantworten. Session-Hijacking ist in der Tat ein Problem und lässt sich am einfachsten durch verschlüsselten Datenverkehr (HTTPS) verhindern.

Zitat:
Man sagt, dass es gefährlich ist Ports zu öffnen, aber wieso? Der 80er Port ist doch in dem Sinne auch offen für die Internetkommunikation?

Das ist eben nur einer von vielen Ports. Man kann sagen, dass jede Anwendung ihre eigenen (Standard)ports besitzt. Je mehr Ports geöffnet sind, desto größer ist die Angriffsfläche für ein Angreifer.

Zitat:
Wenn ich den Xampp-Server/Apache starte, wird er da einen port freigeben , von dem ich von aussen erreichbar bin?

Ja, die Standardports sind geöffnet, wodurch du aus dem Netz erreichbar bist. Es sein denn du erlaubst nur lokalen Zugriff.
Auf diesen Beitrag antworten »
eldi

Hallo NixJava
Vielen Dank für die Antwort, eine Frage hätte ich noch.



Wenn ich den Xampp Server starte und er den Port 80 benutzt , wieso kann ich von einem anderen Client auch gleichzeitig Xampp auf 80 benutzen, müsste er nicht belegt sein??

Ich habe das Gefühl, ich habe das Prinzip der Ports nicht verstanden. Ich dachte Ports Einstellungen nimmt man nur über den Router vor. Wenn ich also Xampp starte notiert/öffnet der Router dann diesen Port automatisch.

Kann es sein, dass es so abläuft?
Es wird nur lokal bei "einem" Client so eingestellt und ich muss dann beim Router angeben, welchen Port ich öffne, der dann an einen Client mit der IP-Adresse und Port 80 "weitergeleitet" wird.

Ich könnte also beim Router, 2 verschiedene Ports öffnen, die dann aber auf beide Clients mit verschiedenen Ip-Adressen aber dem gleichen Port haben (80) weiterleiten.

Hört sich irgendwie kompliziert an, hoffe man versteht, auf was ich hinaus will großes Grinsen
Auf diesen Beitrag antworten »
NixJava

Hallo.

Zitat:
Ich dachte Ports Einstellungen nimmt man nur über den Router vor.

Das ist nicht richtig. Zwar kann ein Router spezielle Aufgaben bzgl. Ports wahrnehmen, zum besseren Verständnis lassen wir den aber mal außen vor.

Man darf Hardwareports (Schnittstellen) auch nicht mit den Netzwerkports verwechseln.

Stell dir vor, du hast zwei PCs direkt miteinander verbunden, ohne Router oder sonstigen Schnickschnack (eigentlich würde sogar ein Rechner ausreichen, bei dem sich dann alles lokal abspielt). Rechner A ist der Server und stellt einen HTTP-Server über Port 80 bereit. Wenn du Apache startest, fordert das Programm beim Betriebssystem einen Port (in diesem Fall 80) an, um eingehende Verbindungen entgegenzunehmen. Danach befindet sich der HTTP-Server im "Wartezustand".

Ein Browser auf Rechner B möchte nun den Service des Webservers auf Rechner A in Anspruch nehmen. Auch dazu fordert dieser bei seinem Betriebssystem einen Port an. Dieser ist in der Regel ein hoher, zufälliger Port X. Über diesen schickt der Browser dann ein Datenpaket mit folgenden Informationen (vereinfacht dargestellt):

code:
1:
2:
3:
4:
5:
Quelladresse Rechner B (z.B. IP-Adresse)
Zieladresse Rechner A (z.B. IP-Adresse)
Quellport X (zufällig)
Zielport 80
Ich hätte gerne die Datei /verzeichnis/beispiel.txt

Gleichzeitig bleibt Port X auf Rechner B geöffnet, um die Antwortpakete zu empfangen.

Der Webserver nimmt diese Anfrage entgegen, weil er auf dem Port 80 lauscht, an den das Paket gerichtet ist. Die Antwort hat folgende Gestalt (Server tauscht die Adressen und Ports):

code:
1:
2:
3:
4:
5:
Quelladresse Rechner A
Zieladresse Rechner B
Quellport 80
Zielport X
Inhalt der Datei /verzeichnis/beispiel.txt

Mal angenommen, Rechner B will nun eine weitere Datei vom Server anfordern, obwohl der erste Datentransfer noch nicht abgeschlossen ist. Dazu stellt der Browser eine neue Verbindung her, also auch einen anderen Port Y.

code:
1:
2:
3:
4:
5:
Quelladresse Rechner B
Zieladresse Rechner A
Quellport Y (zufällig, aber von X verschieden)
Zielport 80
Ich hätte gerne die Datei /verzeichnis/anderes_beispiel.txt

Die folgende Antwort des Servers ist nun an Port Y gerichtet. Der Browser weiß daher, welche Antwortpakete zu welcher Anfrage gehören. Ist ein Datentrasfer abgeschlossen, wird der Client-Port nach einiger Zeit geschlossen und damit freigegeben. Er kann dann für neue Anfragen benutzt werden.
 
Auf diesen Beitrag antworten »
NixJava

Vielleicht noch zur Ergänzung: Die Anfrage eines Clienten "belegt" einen Server-Port nicht. Der Webserver kann mehrere Anfragen parallel bearbeiten. Wäre auch blöd, wenn ich durch meine Suchmaschinenanfrage den Service für andere Nutzer blockiere. Augenzwinkern
 
Neue Frage »
Antworten »


Verwandte Themen