Ankündigung

Einklappen
Keine Ankündigung bisher.

Interne IP auslesen?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Interne IP auslesen?

    Hallo,
    Gibt es in PHP eigentlich auch die Möglichkeit die IP hinter dem Router zu erfragen?

    Ich frage, weil ich eigentlich recht zufrieden mit meinen Multi-User Game Ergebnissen bin, aber auch die Möglichkeit des Spielens im Intranet mit mehreren Usern realisieren möchte.
    Das klingt zunächst verwirrend, erklärt sich aber dadurch, dass das Game mit Blender 2.25 entwickelt ist und dieses Blender korrespondiert nur mit Python 2.
    Das Python 2, Modul socket hat aber noch nicht die Funktion, interne IP`s auszulesen, das spätere Versionen haben.
    Da das Projekt so enorm umfangreich ist, ist es Wahnsinn, das ganze auf eine höhere Blender-Version umzubauen.

    Soviel nur, um unnütze Rückfragen zu vermeiden. Das Projekt Läuft seit 2003.
    Wenn es so eine Möglichkeit gäbe, wäre ich meine Sorge um Lösungsansätze los.

    Es läuft alles Perfekt, aber ich möchte bei meinem Projekt halt alles anbieten können. Auch Intranet.

    Ich kenne halt keine Pythonabfrage bezüglich der internen IP und würde mich freuen, wenn`s sowas gäbe.

    Möglicherweise gibts sowas aus Sicherheitsgründen nicht. aber das kann ich mir nicht vorstellen.

    MfG dieter1a

  • #2
    Zielt die Frage darauf ab, dass das Spiel auf einem Server im Web läuft, und du wissen möchtest, welche internen IP-Adressen, aus einem LAN auf dem Gameserver spielen? Das funktioniert nicht - und das ist auch gut so.


    Wenn das Spiel auf einem PC in einem LAN läuft, dann sollten die IPs der angeschlossnene Clients allerdings ganz normal zu ermitteln sein - das habe ich noch nicht ausprobiert, erscheint mir aber logisch.

    Kommentar


    • #3
      Zitat von Wolla Beitrag anzeigen
      Zielt die Frage darauf ab, dass das Spiel auf einem Server im Web läuft, und du wissen möchtest, welche internen IP-Adressen, aus einem LAN auf dem Gameserver spielen? Das funktioniert nicht - und das ist auch gut so.


      Wenn das Spiel auf einem PC in einem LAN läuft, dann sollten die IPs der angeschlossnene Clients allerdings ganz normal zu ermitteln sein - das habe ich noch nicht ausprobiert, erscheint mir aber logisch.
      Das ist ein Game im Game!
      Mein Projekt ist die einzig bekannte, mit Blender erstellte 3D-Anwendung mit Webanbindung, die zu 100% interaktiv ist.
      Im 3D Raum kann man an 3D Spielen teilnehmen, oder dazu einladen.
      Meine Idee dazu ist, dass man die im Game angebotenen Spiele auch in einem intranet spielen kann.
      Das wäre dann eine Option bei den Spieleinladungen.

      Da man eh angemeldet online sein muss, um an solchen Angeboten teinehmen zu können, (ein Gast kann das nicht) bietet sich an, für interne Netzwerke ein Spiel zu organisieren.

      Das kriege ich aber nur hin, wenn die Teilnehmenden an ihre interne IP kommen.
      Die Anmeldung zu einem Spiel läuft über Einträge in die Datenbank auf dem Server.
      Der Start des Spiels wird vom Server geliefert.
      Der Einlader startet das Spiel.
      Der Server versendet im Online-Game die erforderlichen Startinfos an den Einladenden.
      Im Internen Spiel weiß keiner die IP`s der anderen und die muss erst verteilt werden.
      Das bleibt aber im intranet.
      Das ist aber mit Python 2 noch nicht möglich.
      Wahrscheinlich mit PHP auf dem Server auch nicht, oder?

      Kommentar


      • #4
        "Blender" ist für mich eher ein unbekannter Begriff - du kannst aber auf jeden Fall nicht aus dem Web hinter einen Router schauen und die lokalen IPs auslesen. Wenn du die LAN-Mitglieder auseinanderhalten willst, dann muss das von einem Prozess im LAN erledigt werden.

        Kommentar


        • #5
          Grade fällt mir ein, dass ich einmal einen Eindringling von draußen auf meinem PC hatte, der da mit der RechnerID angekrabbelt kam. Meine Firewall meldete einen proxybuster.domain.nl der anscheinend die RechnerID und IP aus einer von mir geschickten Email ausgelesen hatte und nun mit so etwas wie "externe_IP/Rechnername/c:" oder ähnlich auftauchte.
          Vielleicht kannst du mit den Lan-Namen der PCs was anstellen.

          Kommentar


          • #6
            Vielen Dank, war nur eine Anfrage, bei der Suche nach einer alternativen Lösung.

            Kommentar


            • #7
              Das wird nie gehen, weil es ja u.a. das Wesen des Routers ist, nur seine eigene IP rauszugeben. Die interne geht da kein Bit über den Router raus und wird darum auch von keiner Python-Version gelesen werden können.

              Kommentar


              • #8
                Wobei über beispielsweise SMTP interne IPs ausgegeben werden, soweit ich weiß

                Kommentar


                • #9
                  Zitat von lazydog Beitrag anzeigen
                  Die interne geht da kein Bit über den Router raus und wird darum auch von keiner Python-Version gelesen werden können.
                  Python >2 hat die Funktion getaddrinfo(), welche Informationen über die eigene IP liefert.
                  Ich werde das mit Delphi machen, das habe ich für das Einlogg-Programm benutzt. Dort lass ich die interne IP in eine txt schreiben, und die jeweilige Maschine hat sie somit ständig zur Verfügung.
                  Vielen Dank für die Antworten.

                  MfG dieter1a

                  Kommentar


                  • #10
                    Das willst Du doch sicher als Multi-Account-Schutz verwenden, wie es so viele andere Online-Spiele auch versuchen. Wenn dem so ist: Es ist nutzlos.

                    Kommentar


                    • #11
                      Zitat von David Beitrag anzeigen
                      Multi-Account-Schutz
                      Das sagt mir leider im Moment garnichts. Was ist das?

                      Kommentar


                      • #12
                        Ok, andersherum: Wofür genau brauchst Du eigentlich die interne IP-Adresse?

                        Kommentar


                        • #13
                          Wie bereits oben beschrieben, um eine UDP-Verbindung nicht nur, wie bisher übers Internet, sondern auch im Intranet zu ermöglichen.

                          Kommentar


                          • #14
                            Verstehe ich nicht. Was nutzt Dir die interne IP-Adresse hinter einem Router für eine UDP Verbindung? Oder anders gefragt: Wie willst Du handelsüblichen Routern klar machen, dass sie ein Paket auf der "world"-Verbindung mit einer privaten Adresse entgegennehmen und weiterrouten sollen? Wo willst Du die Adresse überhaupt eintragen?
                            edit: Oder willst Du das als Token verwenden, wofür Du auch jede vom Server vergebene Zufallszahl nehmen könntest?

                            Kommentar


                            • #15
                              Tja, wie soll ich Dir das erklären?
                              Um mit anderen Rechnern in einem Netzwerk via UDP zu kommunizieren, brauche ich nunmal die internen IP`s, die der Router in den meisten Fällen den Clients vergibt.
                              Genauso benötige ich bei einer Kontaktierung übers Internet die externe IP, die mir aber PHP liefert.
                              Im Erklären bin ich leider nicht so gut, sorry.

                              Kommentar

                              Lädt...
                              X