IP und Ports Grundverständis

Nicht ich schrieb:
Da das Betriebssystem unter diesem Port auf nichts anderes als auf die IP+Portkombination antwortet, sehen Portscanner keinen Offenen Port, da keine Reaktion erfolgt.
ah super,
das ist also der Grund, warum ein Test-Portscan von mir die von Firefox geöffneten Client-Ports 55xxx nicht gefunden hat.
Klar. Das OS antwortet auf diesen Clientports nur Anfragen der zuvorkontaktierten Gegenstelle. Super :D
Ich werde mir deine Beiträge jetzt nochmal durchlesen um sie besser zu verinnerlichen.



Hey The Ripper
schön dass dich das Thema auch interessiert :)
The Ripper schrieb:
Angenommen ich bin der Client und kommuniziere grad über 2.2.2.2:777 mit einem Server an 1.1.1.1:81, Protokoll UDP. Irgend ein beliebiger anderer z.b. 3.3.3.3:100 sendet nun an 2.2.2.2:777 ein gültiges UDP-Paket.
Wie soll nun das Betriebssystem/Firewall erkennen, dass das Paket nicht erwünscht ist?
Nach meinem Kenntnisstand:
Ganz einfach: durch die Quell-IP:QuellPort im Paketheader, in dem Fall 3.3.3.3:100
Das OS weiß nämlich: ich muss Pakete, die an 777 adressiert sind an das ProgramX liefern.
Aber nur, wenn dieses Paket vom Server 1.1.1.1:81 stammt. Denn das ProgramX hat zuvor diesen Server kontaktiert und um Daten gebeten.
Pakete von 3.3.3.3 hat das ProgramX nie angefordert, deswegen droppe ich alle Pakete von 3.3.3.3.
Man muss sich das OS als neugierigen Hausverwalter vorstellen, der immer weiß wer wen kontaktiert hat und welche Daten angefordert hat und welche Pakete erwartet :)

Das Betriebssystem besitzt nämlich die folgenden, wichtigen Informationen
- ProgramX hat bei mir Port 777 beantragt und von mir ein OK erhalten
- ProgramX hat dann ein Anfragepaket an 1.1.1.1:81 gesendet mit folgendem Inhalt:
von: 2.2.2.2:777 an 1.1.1.1:81 - Betreff: Homepage
> aha, ProgramX wartet also auf Datenpakete von 1.1.1.1 mit der Portangabe 777.
> alles klar, ich als OS muss nun alle Pakete die:
von 1.1.1.1:81 kommen und
an 2.2.2.2:777 adressiert sind an ProgramX weiterleiten.
"Pakete von 3.3.3.3:100 an 2.2.2.2:777 sind mir egal und ich schmeisse die weg, weil niemand Pakete von 3.3.3.3:100 erwartet..."
So oder so ähnlich müsste es ablaufen.

The Ripper schrieb:
Ich dachte, wenn ein Port offen ist geht da auch wirklich alles rein?
Ich glaube, da hast du die selbe falsche Vorstellung von einem Port wie ich, als ich diesen Thread eröffnet hatte :)

Da geht nämlich nichts rein oder raus, weil ein Port kein <Behälter> oder sowas ist.
Egal ob Port zu oder Port auf: Alle Datenpakete kommen beim Betriebssystem bzw. Paketfilter an.

Bei der Kommunikation in Rechnernetzen wird die zu sendende Information in einzelne Datenpakete gepackt, die über das Netz zu entfernten Rechnern weitergeleitet werden. Neben den zu übermittelnden Daten enthält jedes Paket Adressierungsinformationen:

Die Quell-IP-Adresse gibt an, von welchem Rechner das Paket stammt, die Ziel-IP-Adresse, zu welchem Rechner es geschickt werden soll.

Im Paket angegebene Nummern, die Quell-Port-Nummer und die Ziel-Port-Nummer, erlauben es dem Betriebssystem, das Paket einem Anwendungsprogramm zuzuordnen.

Ich dachte bis vor kurzem ebenfalls, ein Port sei eine Tür/Tor/Durchgang wie auch immer.
Aber ich habe von "Nicht ich" gelernt, einen Port nicht als ein "Konstrukt" zubetrachten.
Ein Port ist nichts weiter als eine Zahl/Kennnummer, die der Zuordnung dient.

Aber aufgrund der irreführenden Bezeichnungen wie "Port öffnen, schließen, sperren" usw.
werden Ports wohl überall zu 99% missverstanden.
Anders kann ich mir die irrsinnigen Behauptungen nicht erklären, die man überall im Netz so findet, "Ports seien gefährlich, Schleusen für Viren" und sowas, weil alle Welt glaubt, Ports seien böse "Löcher"....

Ein Port ist kein öffnebares/abschließbares Konstrukt wo etwas rein oder raus geht

Es ist einfach nur eine Zahl, Kennnnummer, Chiffre.
Sie hilft denjenigen, der die Adressierungsinformationen des Paketes analysiert (also OS oder Paketfilter/Firewall) zu entscheiden, was mit dem Paket geschehen soll:
akzeptieren (also weiterleiten), ablehnen oder verwerfen.

Port offen bedeutet:
- Nummer ist gültig/belegt, weil ein ProgramX/DienstX diese Nummer beim OS beantragt hat
- heißt: OS nimmt Paket an, schickt es weiter zum ProgramX/DienstX
- wenn man also z.B. Port 100 ÖFFNET: dann macht man nichts anderes als dem OS bzw. der Firewall zu sagen, dass er Pakete mit der Portangabe 100 weiter zum ProgramX senden soll.

Port geschlossen bedeutet:
- Nummer ist ungültig/unbelegt, weil kein Program/Dienst diese Nummer beantragt hat.
- heißt: OS nimmt Paket nicht an, schickt Meldung "unzustellbar" zurück
- wenn man also z.B. Port 100 SCHLIEßT: dann macht man nichts anderes als dem OS bzw. der Firewall zu sagen, dass er Pakete mit der Portangabe 100 ablehnen soll.

Port gefiltert bedeutet:
- Nummer ist im Paketfilter/Firewall eingetragen
- heißt: Paketfilter/Firewall schmeißt Paket schweigend weg, schickt also auch KEINE Rückmeldung zum Sender.


The Ripper schrieb:
Wo ziehst du den Unterschied verwenden/vermerken her?
In der genannten Quelle steht:
...nutzen Internetbrowser ... bei seiner Arbeit den Port 80.
E-Mail-Programme verwenden zwei Ports: für das Versenden von Post den Port 25, für den Empfang Port 110.
Die Aussage suggeriert, Browser würden immer Port 80, Mailclient immer Port 25/110 verwenden.
Man wird dadurch auch dazu verleitet zu denken, man müsse deswegen die Ports 80/25/100 auf dem eigenen Rechner öffnen um surfen/emails verschicken zu können.
Einfach mal googeln. Das denken 90% der Leute.

Das ist aber alles falsch.

Warum?
Ein Browser schreibt die Zahl 80 in ein Datenpaket rein, wenn es einen Server kontaktiert, der auf Port 80 antwortet.
Ein Browser schreibt die Zahl 44444 in ein Datenpaket rein, wenn es einen Server kontaktiert, der auf Port 44444 antwortet.

Wenn z.B. ein Webseitenbetreiber seine Seite supergeheim halten will bzw. nur bestimmte Leute rein lassen will, kann er einfach einen anderen Port einstellen. z.B. Port 54545.
Dadurch muss ein User, der diese Seite besuchen will, diesen Port kennen und mit in die Adresszeile des Browsers schreiben um die Seite zu erreichen.

Und das zeigt, dass die Aussage, ein Browserprogramm würde den Port 80 verwenden oder gar brauchen, Unsinn ist...
Der Browser "benötigt" immer genau die Portnummer, die der jenige Dienst, der auf dem zu kontaktierenden Server läuft, geöffnet hat.
Ich hoffe man versteht was ich meine.

PS:
Falls ich irgendwo falsche Infos geschrieben habe, bitte korrigiert mich :)
Danke
 
Zuletzt bearbeitet:
Zurück
Oben