Autor Beitrag
IhopeonlyReader
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mi 23.05.12 15:54 
Guten Tag,
da ich das Problem habe, dass sich ständig die IP wechselt, würde ich gerne Fragen wie man trotzdem einen Konstanten Server laufen lassen kann, ohne seine IP-Adresse irgendwo zu aktualisieren (wie zB. ein Web-Server).

Informationen:
-router-IP bleibt gleich (ersten 2 zahlen der Internet IP)
-Netzwerk-IP bleibt unverändert

ist es möglich irgendwie eine Anfrage an den Router zu schicken mit der Netzwerk IP des gesuchten PCs, so dass der Router die momentane Internet IP rausgibt?

Beispiel:
PC-Internet-IP am 20.05.12 ist 90.200.65.120
PC-Internet-IP am 22.05.12 ist 90.200.48.88

PC-Netzwerk-IP an beiden Tagen: 192.168.0.2

ist es also mit den Daten des Routers (90.200) und der Netzwerk-IP (192.168.0.2) möglich an die aktuelle PC-Internet-IP zu kommen?

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8538
Erhaltene Danke: 475

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 23.05.12 17:15 
Wenn du von außerhalb Zugriff haben illst, dann nützt dir die Netzwerk-IP ungefähr gar nichts, vielleicht auch noch etwas weniger. :mrgreen:

Deinen Router (oder irgendeinen anderen Rechner dahinter) kannst du dann nicht fragen - du kennst dei IP ja nicht. Bleibt also nur, in regelmäßigen Abständen die aktuelle IP irgendwo zu hinterlegen, damit du sie dort abrufen kannst. Eine Möglichkeit wäre wohl DynDNS.

Wenn du auf einem Rechner im Netzwerk einen Webserver laufen lassen willst, der auch von außen erreichbar ist, musst du (wenn du IPv4 nutzt) mit Port-Forwarding arbeiten.

_________________
We are, we were and will not be.
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mi 23.05.12 20:16 
user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Eine Möglichkeit wäre wohl DynDNS.

Wir geht das?= und welche komponenten sind dazu notwendig

user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Wenn du auf einem Rechner im Netzwerk einen Webserver laufen lassen willst, der auch von außen erreichbar ist, musst du (wenn du IPv4 nutzt) mit Port-Forwarding arbeiten.


Genau :) Es soll ein Server gebaut werden, der immer erreichbar ist. Trotz neuer IP durch neustart.


PS: Es bleibt ja ein und derselbe Router, ist es nicht möglich, sich über den Router weiterleiten zu lassen? z.B. wenn 123.456.22.45 angefragt wird, dann leite auf 123.456.22.33 um. Diese umleit IP könnte dann doch beim hochfahren geändert werden und druch die neue erstetz werden

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8538
Erhaltene Danke: 475

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 23.05.12 20:30 
Hm, du möchtest also alle Anfragen, die weltweit durchs Internet geistern, und die so ähnlich sind wie deine IP-Adresse, auf deinen Rechner weiterleiten lassen? Ja, ne. is klar. :mrgreen:

Für DynDNS brauchst du keine Komponenten. Das musst du an deinem Router einschalten, und da die passenden Daten des benutzten Dienstes eintragen. Wenn dein Router eine neue IP bekommt, dann meldet der das diesem Dienst, und verteilt dann die Info "ihopeonlyReader.wasweisich.org.com.dot.net hat die IP 123.456.789.101" im Netz. :D

_________________
We are, we were and will not be.
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Mi 23.05.12 20:31 
DynDNS geht eigentlich genau so:
Zitat:
seine IP-Adresse irgendwo zu aktualisieren (wie zB. ein Web-Server).


Wenn du nur weißt dass ein bestimmter Server existiert, aber seine Adresse nicht kennst, kannst du ihn leider nicht erreichen. Ist genau so wie im richtigen Leben ;-)

Es gibt übrigens viele Router, die nach einer Änderung der Internet-IP diese automatisch bei dyndns hinerlegen können. (Zum Teil werden auch andere Anbeiter unterstützt)
Es gibt auch DSL-Anbieter die - gegen Aufpreis - eine feste IP anbieten. Oder gleich einen richtigen Server mieten. Alles ist möglich ;-)
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mi 23.05.12 20:46 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Schön dass du das "ich möchte nicht verwenden" nicht mitzitiert hast :D

und die IP ist ja nicht komplett geändert, sondern nur die letzten beiden Zahlen.

Das problem ist einfach, dass ich eine "Internet"-Abfrage-IP nicht einrichten möchte, da mein Chat-Server immer zwischen 2 Leuten läuft. (Host+User und User) der Host nutz mein erstes Programm, als Host einrichten, dann wird IP, RouterIP und NetzwerkIP in einer datei gespeichert. Auf dem anderen Rechner liegt jetzt der chatclient mit dieser datei vor. Und beim Start(öffnen) des Chats wird abgefragt ob der Server online ist und verbunden werden kann. Nur wenn sich jedes mal die IP des Servers ändert, dann funktioniert meine Methode leider nicht. Ebenso ändert sich die IP des Users immer :(.

Komsich: -Manuell ist es möglich über eine (ehemalige) IP und die NetwerkIP an die neuste IP zu kommen.

Soviel ich weiß führt der Router doch ein Protokol, welches aufführt welche IP welchem PC einmal gehörte oder? (z.B pc 192.168.0.3 gehörte mal die ip 123.456.44.120). gibt es wirklich keine möglichkeit, sich sozusagen mit einem Router zu verbinden und dann an die NetzwerkIP weitergeleitet wird???


Bitte, ich hasse es, dass man um chatten zu können, seine IP z.B. per skype, vorher an die Leute schicken mus. Da ist es unnötig sich einen Chat zu basteln :(

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19285
Erhaltene Danke: 1743

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 23.05.12 21:05 
Dein Gegenüber muss aber nunmal deine aktuelle IP kennen. Und die muss er von einer bekannten Stelle abfragen können, sprich einem Server im Internet, den er über eine bekannte feste IP oder Adresse erreichen kann.

Ob das nun DynDNS ist oder ein eigener Webspace oder ein eigener Server ist egal. Aber ohne ist es ohne feste eigene IP technisch (und logisch) schlicht nicht möglich.

Wenn du dich unterwegs in ein Lokal setzt, musst du jemandem, mit dem du dich treffen willst, ja auch erst sagen wo du bist...
Oder wenn du im Urlaub bist, jemandem sagen wo er Post hinschicken soll, wenn dich jemand per Post kontaktieren will.


Zuletzt bearbeitet von jaenicke am Mi 23.05.12 21:07, insgesamt 1-mal bearbeitet
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8538
Erhaltene Danke: 475

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 23.05.12 21:06 
Um es nochmal deutlich zu sagen: Wenn du die aktuelle IP des Routers nicht kennst, und keine anderen Dienste benutzen willst, die dir die aktuelle IP liefern könnten, kannst du mit dem Router nicht kommunizieren. Punkt. Was der Router früher mal für eine IP hatte, ist völlig wurst - die hat jetzt vermutlich jemand anderes.

_________________
We are, we were and will not be.
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mi 23.05.12 21:18 
Naja

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:

Wenn du dich unterwegs in ein Lokal setzt, musst du jemandem, mit dem du dich treffen willst, ja auch erst sagen wo du bist...
Oder wenn du im Urlaub bist, jemandem sagen wo er Post hinschicken soll, wenn dich jemand per Post kontaktieren will.


Ich kenn die Stadt und ich weiß das das Lokal in der Stadt "X" genannt wird.
Ich kenn zwar nicht den Namen des Lokals, aber ich weiß wie es genannt wird. Ich würde jetzt gerne die Stadt fragen wie X denn wirklich heißt, auch wenn sich der name ständig ändert.


Und:
user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Um es nochmal deutlich zu sagen: Wenn du die aktuelle IP des Routers nicht kennst,

klar, ich kenn die IP des Routers, die ändert sich ja nicht^^ Es ändert sich nur der Suffix

Moderiert von user profile iconNarses: Zitat repariert.

Moderiert von user profile iconNarses: Beiträge zusammengefasst

Man könnte die Frage auch so stellen:
Über Praefix und Netzwerk-IP (Standart-Gateway bzw. Bevorzugter DNS-Server) an Suffix kommen.

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8538
Erhaltene Danke: 475

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 23.05.12 21:43 
Welchen Teil von "Geht nicht" hast du denn jetzt nicht verstanden? :gruebel:

Stell dir vor, dein Freund hat eine Handynummer, die sich ständig ändert. Ob die sich komplett ändert, oder nur die letzten 6 Stellen, ist dabei egal. Wenn du ihn anrufen willst, brauchst du die komplette Nummer. Eine Hälfte der Nummer hilft dir nur insofern, dass du den Brute-Force-Angriff reduzieren kannst.

_________________
We are, we were and will not be.
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mi 23.05.12 21:49 
user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Welchen Teil von "Geht nicht" hast du denn jetzt nicht verstanden? :gruebel:

Das wusste ich von Anfang an!

Meine Frage berught ja darauf, ob man den Router per Quelltext fragen kann.

Manuell ist es übringes Möglich ;)

Moderiert von user profile iconNarses: Zitat repariert.

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8538
Erhaltene Danke: 475

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 23.05.12 22:10 
Ok, dann erklär doch mal gaaanz genau, was du machen willst, und was manuell (angeblich) funktioniert. Wie willst du denn den Router etwas fragen, wenn du ihn nicht kennst? :autsch:

_________________
We are, we were and will not be.
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mi 23.05.12 22:13 
user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
Ok, dann erklär doch mal gaaanz genau, was du machen willst, und was manuell (angeblich) funktioniert. Wie willst du denn den Router etwas fragen, wenn du ihn nicht kennst? :autsch:


wie kommt ihr darauf dass ich den Router nicht kenne? den praefix kenne ich doch (zum 3 mal)

Manuell täuscht man eine zugehörigtkeit zum Netzwerk (beim router) auf verbindet sich mit der Netzwerkip und lässt sich die internet ip geben. Dann mit InternetIP verbinden.

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8538
Erhaltene Danke: 475

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 23.05.12 22:19 
Was ist denn das Präfix? Die ersten 2 Bytes der Adresse? Das 90.200.? das bringt dir nichts. Zum gefühlt 10. Mal.

Ich klinke mich jetzt aus. Es sei denn, du überweist mir 10€ auf mein Konto.
Meine Kontonummer ist 56465(....), BLZ ist 3664(...). Alternativ kannst du ich auch zu Hause anrufen. Meine Telefonnummer ist (0211). Dann reden wir weiter. Die fehlenden Ziffern sind ja nur das Suffix, das findest du bestimmt raus.

(Die Kontodaten sind Fake, aber die Vorwahl stimmt. ;-))

_________________
We are, we were and will not be.
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mi 23.05.12 22:32 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

IP = Praefix + Suffix
Praefix = RouterIP -> Hier ist der Router erreichbar und hier wird man druch den Suffix an den entsprechenden PC geleitet.

Ist man selbst im selben Netzerk, stimmt also der Praefix überein, so reicht es die NetzwerkIP anzugeben um mit dem ZielPC eine verbindung einzugehen.

täuscht man den router jetzt in dem man seinen eigenen Praefix faket, so kann man über die NetzwerkIP an den ZielPC andocken, jedoch wird mal durch Firewall etc. natrülich geblockt. Also sollte eine Datei existieren in der die InternetIP steht, die Datei muss dann in einem für das Heimnetzerk freigebenem Ordner sein. (lässt sich ja per Delphi machen: Datei im Ornder erstellen)

Diese Datei kann ich lesen und die InternetIP des Zielrechners ermitteln. Nun könnte eine Chatverbindung eingehen.

Jetzt meine Frage: ist das auch per Delphi möglich einen Router zu täuschen um an "öffentliche" Daten eines Computers für das Heimnetzerk zu kommen?

Ich denke theoretisch ja, aber ich weiß leider nicht wie ich dem Router einen Fake-Praefix vortäusche, da ich soetwas noch nie in einer Programmiersprache verwirklicht habe.

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8538
Erhaltene Danke: 475

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 23.05.12 22:39 
Lies dir bitte mal durch, wie das Internet funktioniert. Insbesondere, was es mit den unterschiedlichen IP-Adressen auf sich hat, was an diesen 192.168-Adressen besonders ist und wie NAT funktioniert.

Was du hier als Präfix bezeichnest, ist nicht die Router-IP, sondern nur eine Hälfte davon.

_________________
We are, we were and will not be.
Blawen
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 616
Erhaltene Danke: 33

Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
BeitragVerfasst: Mi 23.05.12 23:07 
Irgendwie habe ich den Verdacht, dass Du einige Dinge durcheinander bringst.

Zitat:
IP = Praefix + Suffix
Was verstehst Du unter Suffix? Ich vermute mal die Portnummer, also im Sinne 192.168.1.1:80

Zitat:
Ist man selbst im selben Netzerk, stimmt also der Praefix überein, so reicht es die NetzwerkIP anzugeben um mit dem ZielPC eine verbindung einzugehen.
Dir ist schon klar, dass zwei unterschiedlche IP-Adressen existieren? (Provider 77.239.xx.xxx -> Router -> Netzwerk 192.168.1.1)

Zitat:
täuscht man den router jetzt in dem man seinen eigenen Praefix faket, so kann man über die NetzwerkIP an den ZielPC andocken
Wenn es wirklich so einfach wäre... Woher hast Du denn diesen "Blöds...."?

Zitat:
Manuell täuscht man eine zugehörigtkeit zum Netzwerk (beim router) auf verbindet sich mit der Netzwerkip und lässt sich die internet ip geben. Dann mit InternetIP verbinden.
Der "externe" Rechner müsste zuerst mal die öffentliche IP kennen, um etwas faken zu können. Kennt er diese, wäre das faken aber wiederum sinnlos. (Innerhalb des Netzwerks ist es kein Problem, die öffentliche IP festzustellen. Aber eben, dem externen Rechner muss auf geeignete Weise die IP mitgeteilt werden (z.B. per Email oder aber mittels DynDNS)

Weil ich vermute, dass Du das Prinzip von DynDNS nicht verstanden hast:
DynDNS ist im Prinzip nichts anderes als ein öffentliches Telefonbuch.
Der Router meldet seine öffentliche IP jeweils an DynDNS.
Um nun die IP in Erfahrung zu bringen, reicht eine kurze "Anfrage" nach dem Muster HansMeier.dyndns.org.
Als Rückmeldung erhälst Du dann die Telefonnummer von HansMeier (eben die IP-Adresse des Routers)



Zitat:
...ist es mit delphi möglich
klar.

Aber wie schon vorgängig mehrfach geschrieben wurde, kannst Du den kostenlosen DynDns Dienst nutzen. So reicht schon die Angabe MeinKonto.DynDns.org um die IP-Adresse zu bekommen. Ohne Verrenkungen und "Murks...

_________________
Es kompilert, wir können ausliefern.
Und es kompiliert wieder - das Update ist fertig - bitte 100 Euro ;-)
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Do 24.05.12 16:17 
user profile iconBlawen hat folgendes geschrieben Zum zitierten Posting springen:
Weil ich vermute, dass Du das Prinzip von DynDNS nicht verstanden hast:
DynDNS ist im Prinzip nichts anderes als ein öffentliches Telefonbuch.
Der Router meldet seine öffentliche IP jeweils an DynDNS.
Um nun die IP in Erfahrung zu bringen, reicht eine kurze "Anfrage" nach dem Muster HansMeier.dyndns.org.
Als Rückmeldung erhälst Du dann die Telefonnummer von HansMeier (eben die IP-Adresse des Routers)

Zitat:
...ist es mit delphi möglich
klar.

Aber wie schon vorgängig mehrfach geschrieben wurde, kannst Du den kostenlosen DynDns Dienst nutzen. So reicht schon die Angabe MeinKonto.DynDns.org um die IP-Adresse zu bekommen. Ohne Verrenkungen und "Murks...


Interessant, muss dein meinkonto registrieren, oder im Router einstellen? Wie schon erwähnt soll der Server so aufgebaut sein. Das Client a an Server a und Client b an Server b sendet. Wenn jedoch Server a und b denselben Account verwenden, dann ist diese Methode natürlich auf mein Beispiel unanwendbar.

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
Blawen
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 616
Erhaltene Danke: 33

Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
BeitragVerfasst: Do 24.05.12 21:55 
user profile iconIhopeonlyReader hat folgendes geschrieben Zum zitierten Posting springen:
Interessant, muss dein meinkonto registrieren, oder im Router einstellen? Wie schon erwähnt soll der Server so aufgebaut sein. Das Client a an Server a und Client b an Server b sendet. Wenn jedoch Server a und b denselben Account verwenden, dann ist diese Methode natürlich auf mein Beispiel unanwendbar.
Du meldest Dich (z.B.) bei DynDNS an und trägst die Anmeldedaten im Setup des Routers ein. Pro Router benötigst Du einen Account.

_________________
Es kompilert, wir können ausliefern.
Und es kompiliert wieder - das Update ist fertig - bitte 100 Euro ;-)
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Do 24.05.12 22:20 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Damit fällt diese Methode dann leider ins Wasser. Allerdings werd ich wohl bald meine Angel holen müssen, da ich merke, dass es nicht reicht Programme zu schreiben, sondern der User selbst auch etwas dafür tun muss.

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!