Autor |
Beitrag |
IhopeonlyReader
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: 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
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Gausi
Beiträge: 8538
Erhaltene Danke: 475
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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.
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
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Mi 23.05.12 20:16
Gausi hat folgendes geschrieben : | Eine Möglichkeit wäre wohl DynDNS. |
Wir geht das?= und welche komponenten sind dazu notwendig
Gausi hat folgendes geschrieben : | 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
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Gausi
Beiträge: 8538
Erhaltene Danke: 475
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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.
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.
_________________ We are, we were and will not be.
|
|
jfheins
Beiträge: 918
Erhaltene Danke: 158
Win 10
VS 2013, VS2015
|
Verfasst: 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
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Mi 23.05.12 20:46
Moderiert von Narses: Komplett-Zitat des letzten Beitrags entfernt.
Schön dass du das "ich möchte nicht verwenden" nicht mitzitiert hast
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
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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
Beiträge: 8538
Erhaltene Danke: 475
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Mi 23.05.12 21:18
Naja
jaenicke hat folgendes geschrieben : |
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:
Gausi hat folgendes geschrieben : | 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 Narses: Zitat repariert.
Moderiert von Narses: 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
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Gausi
Beiträge: 8538
Erhaltene Danke: 475
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mi 23.05.12 21:43
Welchen Teil von "Geht nicht" hast du denn jetzt nicht verstanden?
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
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Mi 23.05.12 21:49
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Gausi
Beiträge: 8538
Erhaltene Danke: 475
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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?
_________________ We are, we were and will not be.
|
|
IhopeonlyReader
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Mi 23.05.12 22:13
Gausi hat folgendes geschrieben : | 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? |
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
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Gausi
Beiträge: 8538
Erhaltene Danke: 475
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Mi 23.05.12 22:32
Moderiert von Narses: 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
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Gausi
Beiträge: 8538
Erhaltene Danke: 475
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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
Beiträge: 616
Erhaltene Danke: 33
Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
|
Verfasst: 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
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Do 24.05.12 16:17
Blawen hat folgendes geschrieben : | 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
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Blawen
Beiträge: 616
Erhaltene Danke: 33
Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
|
Verfasst: Do 24.05.12 21:55
IhopeonlyReader hat folgendes geschrieben : | 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
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Do 24.05.12 22:20
Moderiert von Narses: 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
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
|