Eigene Internet IP auslesen

EddiModder

Grünschnabel

Hi leutz,

wie bekomme ich es hin das ich meine Eigene IP auslesen kann?

THX schonmal im vorraus

greeze ed2k
 
Zuletzt bearbeitet:
Wie ich die rausbekomme is mir schon klar aber wie realiesre ich das in c++.

also ich will meine eigene ip auslesen und diese dann abspeichern.

greeze ed2k
 
Ach so, sorry, da hatte ich ein Brett vorm Kopf -- kann passieren. :eek:

Leider weiss ich das im Moment auch nicht. Es wäre aber eine Möglichkeit, von C aus einen HTTP-Request zu starten, der eben diese Seite aufruft und die IP ausliest.

Arbeitest du mit Windows?
 
Entweder du machst es mit MFC und siehst dir diese Beispiel an: Klick!

Oder du wartest, bis Endurion sich dazu äussert. Der kennt sich nämlich damit besser aus als ich. Würde mich auch interessieren.
 
*geschmeicheltfühl*

Mal guggen, ob's gerechtfertigt war:

Es gibt da ein paar Varianten, nicht alle klappen immer, und manchmal geht es auch gar nicht:

Variante A:

Über die beiden Socket-Funktionen:

gethostname holt den eigenen Servernamen, und gethostbyname holt die IP-Adresse. Das Problem ist, gethostbyname fragt deinen DNS-Server, welche IP du hast. Das klappt bei statischen IPs, aber nicht aber bei dynamisch zugewiesenen.

Variante B:

Tatsächlich eine Verbindung aufbauen und dann die eigene IP abfragen. Problem, es wird eine Verbindung irgendwohin aufgebaut.

connect(sock, &addr, sizeof addr);
adlen = sizeof addr;
getsockname(sock, &addr, &adlen);
printf("My address: %s\n", inet_ntoa(addr.sin_addr));

Variante C:

Du bist hinter einem Router, und alle Rechner im lokalen Netz haben nach außenhin dieselbe IP. Geht nicht. Dein Rechner hat keine "richtige" IP, nur eine lokal zugewiesene. Dein Rechner ist von aussen her nicht eindeutig identifizierbar.

Es gibt vermutlich noch ein paar Varianten, aber das sind die mir bekannten (bzw. grade gegoogelten).
Sämtliche Code-Schnipsel sind eben das, Schnipsel. Kann man nicht direkt kompilieren, muss man evtl. anpassen. Sollte aber kein Problem sein.
 
Hallo zusammen,

ähnliches Problem von mir ... an die Gurus :-)

habe auf meinem Rechner 2 Netzwerkkarten.
Wie ermittle ich beide IP-Adressen ? (oder ganz allg. x-IPs eines Rechners)
Kann das gethostbyname() ... ?

Schönen Dank im Voraus
Gruss
:)

Nachtrag:
Habe es zu spät gesehen ... :eek:
bei meiner Anfrage geht es nicht um Internet-IPs ...
sorry, dass ich hier nun etwas mische ...
:mad:
 
Zuletzt bearbeitet:
Zurück