amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Eigene IP ermitteln? [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- 2 3 4 5 6 Letzte   Thema geschlossen  

01.03.2008, 10:25 Uhr

MaikG
Posts: 5172
Nutzer
Ich würde gerne die IP wissen mit der ich surfe.
In ENV:APPPipLocal steht die drinnen, das dürfte aber nur
bei Genesis so sein oder?

[ - Direktlink - ]

01.03.2008, 10:39 Uhr

Tomcat
Posts: 585
Nutzer
http://www.wieistmeineip.de

Tomcat

[ - Direktlink - ]

01.03.2008, 11:11 Uhr

thomas
Posts: 7661
Nutzer
@Tomcat:

Erst Gehirn einschalten, dann antworten. (Programmierforum, Env-Variable ...)

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Direktlink - ]

01.03.2008, 11:32 Uhr

MaikG
Posts: 5172
Nutzer
Ja, ich dachte so an was zuverlässiges, schnelles.
Irgendeine Webseite kann offline sein, oder irgendwann gar nicht
mehr da etc.

[ - Direktlink - ]

01.03.2008, 11:39 Uhr

DNA
Posts: 176
Nutzer
Das ist wirklich nicht ganz einfach und lokal kaum zu ermitteln. Du kannst auf der Maschine maximal ermitteln welche lokale IP Du hast. Im besten Fall wählt sich die Maschine direkt ein und Du bekommst die öffentliche IP raus. Aber jeder Mensch sitzt heute eigentlich hinter einem Router oder Proxy oder anderem erschwerenden Schweinkram.
Du müßtest also irgendjemand "draussen" fragen, mit welcher IP Du ankommst. Damit ist Tomcats Antwort immernoch minder clever, aber inhaltlich ist es der richtige Weg. Ich habe das in meinen Projekten so gemacht, dass ich auf meinem Webserver einen Webservice laufen habe, welcher nix weiter macht als die aufrufende IP zurückzuliefern. Ich weiß nicht ob Du die Möglichkeit hast Webservices zu rufen. Ansonsten müßte man halt Seiten ähnlich wie "wieistmeineip.de" (o.ä.) finden, welche nur die IP als HTML liefern und dann halt das HTML-File empfangen und parsen.
Aber dafür kenne ich mich mit Amigaprogrammierung leider zu wenig aus. (Ich kann nur böses Win32 und TotNet:))

Grüße, DNA

--
C64-II, DTV-Mod, A1200/030(50), A3000T/060, CD32+SX1, CD32+SX32, Pegasos 1, Pegasos 2, Acorn RPC-SA, HP712/100, SGI Indigo, Powermac 9600/300, ...
Home: http://www.2ndmoon.de ICQ:14803035

[ Dieser Beitrag wurde von DNA am 01.03.2008 um 11:41 Uhr geändert. ]

[ - Direktlink - ]

01.03.2008, 12:04 Uhr

thomas
Posts: 7661
Nutzer
@DNA:

Er hat geschrieben, daß er die Adresse, die er sucht, in einer Env-Variablen gefunden hat. Also kann es sich nur um die Adresse handeln, mit der er im lokalen Netzwerk unterwegs ist.

Bei der externen Adresse stimme ich euch zu, das geht nur mit externen Mitteln, oder man müßte den Router fragen, aber wie und ob das geht ist ja vom Gerät abhängig.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Direktlink - ]

01.03.2008, 12:44 Uhr

DNA
Posts: 176
Nutzer
Zitat:
Original von thomas:
@DNA:

Er hat geschrieben, daß er die Adresse, die er sucht, in einer Env-Variablen gefunden hat. Also kann es sich nur um die Adresse handeln, mit der er im lokalen Netzwerk unterwegs ist.


Er schrieb auch, daß er die IP sucht, mit der er surft. :) Aber egal. Es herrscht Konsens:

- Es gibt die lokale IP (meißt 192.168.X.X), mit der er im LAN ist. Die kann man bestimmt recht einfach ermitteln, wobei die aber auch nicht eindeutig sein muss, wenn der Rechner z.B. mehrere Adapter hat.

- Dann gibts noch die öffentliche IP. Die bekommt nicht zwingend der Rechner selbst, es sein denn er wählt sich per Modem (Analog, ISDN, DSL-Modem) ein. Meißt wir die IP aber einem Router zugeteilt. Diesen abzufragen ist sehr gerätespezifisch. Damit sollte es keine allgemeingültige Lösung geben (evtl. uPnP?. Ausweg wäre die Abfrage eines Systems im Internet, welches die öffentliche IP zurückliefert. Das Ergebnis kann dann HTML oder Webservice oder $NochWasAnderes sein.

Nun muß MaikG nur noch ansagen welche IP er sucht oder wofür er sie braucht und dann muss er es "nur noch" programmieren. :)

Grüße, DNA


--
C64-II, DTV-Mod, A1200/030(50), A3000T/060, CD32+SX1, CD32+SX32, Pegasos 1, Pegasos 2, Acorn RPC-SA, HP712/100, SGI Indigo, Powermac 9600/300, ...
Home: http://www.2ndmoon.de ICQ:14803035

[ - Direktlink - ]

01.03.2008, 13:15 Uhr

MaikG
Posts: 5172
Nutzer
An einenm Router hatte ich noch gar nicht gedacht.

Ja, die Router adresse brauch ich nicht, die welche mir
unter http://www.wieistmeineip.de angezeigt wird wäre okay.

[ - Direktlink - ]

01.03.2008, 13:44 Uhr

DNA
Posts: 176
Nutzer
@MaikG:

Ich habe mal ein bißchen gesucht. Unter http://checkip.dyndns.org/ bekommt man eine HTML-Seite, welche die IP ohne viel Datenmüll rundrum bekommt. Diese empfangene Datei kann man wieder recht leicht per Code auswerten. Dabei ist Dyndns.org auch ein Verein, welcher nicht so schnell von der Bildfläche verschwinden sollte. Nun weiß ich nicht ob Du's programmtechnisch hinbekommst diese Datei zu holen und auszuwerten?

Ansonsten kann ich Dir noch testweise anbieten meinen Webservice zu nutzen. Der Webservice läuft unter der Adresse "http://dvoelkel.dyndns.org/" und die Funktion heißt "GetIP" und liefert einen Widestring mit der aktuellen IP. Da Webservices aber was relativ modernes sind, weiß ich nicht ob Du die nutzen kannst. Vorteil des Webservice wäre, daß man nix parsen muß und dass das Ergebnis der Abfrage immer ein String ist, und nicht irgendein HTML.

Grüße, DNA
--
C64-II, DTV-Mod, A1200/030(50), A3000T/060, CD32+SX1, CD32+SX32, Pegasos 1, Pegasos 2, Acorn RPC-SA, HP712/100, SGI Indigo, Powermac 9600/300, ...
Home: http://www.2ndmoon.de ICQ:14803035

[ - Direktlink - ]

01.03.2008, 17:47 Uhr

MaikG
Posts: 5172
Nutzer
Ja, gut da hat man aber wieder das Problem von einer
Internetseite abhängig zu sein...

[ - Direktlink - ]

01.03.2008, 18:49 Uhr

DNA
Posts: 176
Nutzer
@MaikG:
Das stimmt. Aber ich wüßte keinen anderen Weg, eben weil Du nicht weist, in welcher Umgebung Dein Programm läuft. Aber Du kannst die Abhängigkeit auf zwei Arten minimieren:
- Du hinterlegst mehrere Seiten, die Du abfragen kannst
- Du installierst einen eigenen Dienst auf einer eigenen Domain.

Vielleicht gibts auch noch andere Möglichkeiten wenn man wüßte was Du genau vor hast.

Grüße, DNA
--
C64-II, DTV-Mod, A1200/030(50), A3000T/060, CD32+SX1, CD32+SX32, Pegasos 1, Pegasos 2, Acorn RPC-SA, HP712/100, SGI Indigo, Powermac 9600/300, ...
Home: http://www.2ndmoon.de ICQ:14803035

[ - Direktlink - ]

02.03.2008, 21:10 Uhr

Holger
Posts: 8050
Nutzer
Im Normalfall holt man sich die eigenen IPs (ja, es sind immer mehrere) via Netzwerk-API und bietet dem Benutzer die Möglichkeit, selbige auch manuell einzustellen, für den Fall, dass man nicht mit einer direkten Internet-Verbindung gesegnet ist.

Für die ermittelten IP-Adressen kann man alle lokalen aussieben, denn die dafür reservierten Adressräume sind standardisiert (sonst würde es ja nicht funktionieren). Wenn dann keine oder mehr als eine übrig bleibt, muss man den Benutzer fragen.

Wenn es darum geht, einen Server zu betreiben, muss sowieso dort, wo NAT konfiguriert wurde, auch ein entsprechendes Port-Forwarding konfiguriert werden, das man kaum automatisieren kann. Da nützt das Herausfinden der eigenen, externen IP-Adresse sowieso nix. Das nützt nur bei direkter Verbindung, und da ist es ja trivial.

mfg

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Direktlink - ]

03.03.2008, 10:10 Uhr

MaikG
Posts: 5172
Nutzer
>Im Normalfall holt man sich die eigenen IPs (ja, es sind immer
>mehrere) via Netzwerk-API und bietet dem Benutzer die Möglichkeit,
>selbige auch manuell einzustellen, für den Fall, dass man nicht mit
>einer direkten Internet-Verbindung gesegnet ist.


Nur, bietet die API sowas wohl nicht. Also bei bsdsocked
hab ich sowas nicht gelesen...


[ - Direktlink - ]

03.03.2008, 10:50 Uhr

Solar
Posts: 3674
Nutzer
Glaub' ich kaum das bsdsocket das nicht bietet. Ohne jemals direkt auf der Netzwerkebene herumgehüpft zu sein, würde ich auf den "Dunstkreis" von gethostname() / gethostbyname() tippen...

Aber machen wir mal einen Schritt zurück. Warum willst Du die IP wissen, mit der Du surfst?

Ich frage, um festzustellen, ob Du die IP wirklich brauchst, oder ob da schon im Vorfeld ein Denkfehler vorliegt.

[ Dieser Beitrag wurde von Solar am 03.03.2008 um 10:58 Uhr geändert. ]

[ - Direktlink - ]

03.03.2008, 13:23 Uhr

MaikG
Posts: 5172
Nutzer
>Glaub' ich kaum das bsdsocket das nicht bietet. Ohne jemals direkt
>auf der Netzwerkebene herumgehüpft zu sein, würde ich auf den
>"Dunstkreis" von gethostname() / gethostbyname() tippen...

mit 127.0.0.1 ? Da kommt nur ein Fehler zurück, keine IP.


>Ich frage, um festzustellen, ob Du die IP wirklich brauchst, oder
>ob da schon im Vorfeld ein Denkfehler vorliegt.

Doch ich brauch die 100%ig.

[ - Direktlink - ]

03.03.2008, 14:10 Uhr

Holger
Posts: 8050
Nutzer
Zitat:
Original von MaikG:
mit 127.0.0.1 ? Da kommt nur ein Fehler zurück, keine IP.

Scherzkeks. 127.0.0.1 ist bereits eine IP-Adresse. Was erwartest Du denn? Du wirst für 127.0.0.1 logischerweise den Hostnamen "localhost" bekommen, wenn Du danach fragst, und wenn Du nach der IP-Adresse für "localhost" fragst, bekommst Du logischerweise 127.0.0.1.
Zitat:
Doch ich brauch die 100%ig.
Sieht nicht so aus. Du kannst ja nicht einmal einen Grund nennen...

mfg

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Direktlink - ]

03.03.2008, 15:51 Uhr

Solar
Posts: 3674
Nutzer
Zitat:
Original von Holger:
Zitat:
Original von MaikG:
mit 127.0.0.1 ? Da kommt nur ein Fehler zurück, keine IP.

Scherzkeks.

Du sprichst mir aus der Seele. I-)

@ MaikG:

Was spricht denn gethostname()?

Zitat:
Ich brauch die 100%ig.

Es liegt kein Denkfehler vor. Beweis: Es liegt kein Denkfehler vor.

Ah ja. I-)

[ Dieser Beitrag wurde von Solar am 03.03.2008 um 15:55 Uhr geändert. ]

[ - Direktlink - ]

03.03.2008, 17:58 Uhr

MaikG
Posts: 5172
Nutzer
>Sieht nicht so aus. Du kannst ja nicht einmal einen Grund nennen...

Ist ein Geheimniss.
Ich mag ja vom ermitteln dieser keinen schimmer haben aber das
ich die brauch weiss ich schon.

[ - Direktlink - ]

03.03.2008, 18:12 Uhr

_PAB_
Posts: 3016
Nutzer
@MaikG:
programmierst Du einen p2p-Client...?

[ - Direktlink - ]

03.03.2008, 20:14 Uhr

uho
Posts: 114
Nutzer
Hallo,

hab zwar mit Netzen nicht viel am Hut, aber zum Schmunzeln ist
der Thread allemal.

Jedenfalls hab ich die zuerst genannte Webseite auch mal aus-
probiert und dabei festgestellt, daß nur die Hälfte meiner IP
veränderlich ist - wohl providerspezifisch.
Es heißt ja immer, daß sich die IP komplett ändert.

Was mich aber sehr wunderte, wie diese Seite sowohl meinen Browser
incl. Version als auch mein Betriebssystem (!!) kannte.
In den Einstellungen von IB hab ich keine derartigen Angaben
gefunden. Oder habe ich nur nicht richtig gesucht ?
Kann man diese Meldungen beeinflussen ?

Gruß

uho

[ - Direktlink - ]

04.03.2008, 09:54 Uhr

MaikG
Posts: 5172
Nutzer
>programmierst Du einen p2p-Client...?


Nein.

Gibt doch schon AmiGift obwohl das so einige Bugs hat.



>Was mich aber sehr wunderte, wie diese Seite sowohl meinen Browser
>incl. Version als auch mein Betriebssystem (!!) kannte.
>In den Einstellungen von IB hab ich keine derartigen Angaben
>gefunden. Oder habe ich nur nicht richtig gesucht ?
>Kann man diese Meldungen beeinflussen ?

Bei AWeb kommt auch "Spoofed by AWeb 3.5.09" dazu, das kann man
nicht beeinflussen. Mit nem Hex-Editor bestimmt.

[ - Direktlink - ]

04.03.2008, 11:44 Uhr

Solar
Posts: 3674
Nutzer
Zitat:
Original von uho:

Jedenfalls hab ich die zuerst genannte Webseite auch mal aus-
probiert und dabei festgestellt, daß nur die Hälfte meiner IP
veränderlich ist - wohl providerspezifisch.
Es heißt ja immer, daß sich die IP komplett ändert.


So funktioniert IP nun einmal.

IP's werden von der IANA vergeben, und zwar blockweise. Ein Provider muß einen Adressbereich vom Registrar kaufen, und kann dann IP's in diesem Bereich an seine Kunden weitergeben. Sich einfach eine IP würfeln geht nicht - wäre ja blöd, wenn in China jemand mit derselben IP unterwegs wäre, oder?

Somit bekommst Du zwar eine "komplett" neue IP, die liegt aber immer noch in dem Block, den Dein Provider eingekauft hat; d.h. die ersten paar Bit sind dieselben, nur "hinten" ändert sich was. Es ist trotzdem eine komplett neue IP, denn knapp daneben gilt vielleicht bei Nuklearwaffen, bei IP's ist knapp daneben aber immer vorbei.

[ - Direktlink - ]

04.03.2008, 11:45 Uhr

Solar
Posts: 3674
Nutzer
@ MaikG:

Bist Du denn nun weiter gekommen, nach der Erkenntnis das gethostbyname() auf 127.0.0.1 wenig sinnvoll ist?

[ - Direktlink - ]

04.03.2008, 12:33 Uhr

_PAB_
Posts: 3016
Nutzer
@MaikG:
Vielleicht wird uns eine alternative Lösungsmöglichkeit anbieten, wenn Du uns sagst, was Du programmierst ?

[ - Direktlink - ]

04.03.2008, 15:37 Uhr

MaikG
Posts: 5172
Nutzer
>Bist Du denn nun weiter gekommen, nach der Erkenntnis das
>gethostbyname() auf 127.0.0.1 wenig sinnvoll ist?


Funktioniert doch gar nicht, warum soll ich weiter drüber nachdenken?



>Vielleicht wird uns eine alternative Lösungsmöglichkeit anbieten,
>wenn Du uns sagst, was Du programmierst ?

Stell dir einfach vor, ich möchte meine aktuelle IP in einem
kleinen Fenster auf der Workbench darstellen.

[ - Direktlink - ]

04.03.2008, 16:17 Uhr

Solar
Posts: 3674
Nutzer
Zitat:
Original von MaikG:
>Bist Du denn nun weiter gekommen, nach der Erkenntnis das
>gethostbyname() auf 127.0.0.1 wenig sinnvoll ist?

Funktioniert doch gar nicht, warum soll ich weiter drüber nachdenken?


Sag mal, bist Du eigentlich so blöd, oder tust Du nur so?

X( X( X(

[ - Direktlink - ]

04.03.2008, 16:22 Uhr

Robin
Posts: 1056
Nutzer
@MaikG:

Es ist halt nicht einfach zu sagen welches DEINE IP ist, wenn man nur deinen Rechner betrachtet ... stell dir einen Rechner mit 3 Netzwerkkarten vor:

Karte 1 (192.168.0.2) --- Router 1 (192.168.0.1) --- AOL (72.12.34.56)
Karte 2 (192.168.1.2) --- Router 2 (192.168.1.1) --- t-online (211.54.3.2)
Karte 3 (192.168.2.2) --- Router 3 (192.168.2.1) --- kabeltv (121.44.55.66)

Und dann gib auf deine "einfache" Frage die Antwort ...
--
(Bild) http://my.morphosi.net/
morphos

[ - Direktlink - ]

04.03.2008, 16:40 Uhr

Solar
Posts: 3674
Nutzer
@ MaikG:

Wie gesagt, ich habe noch nie auf dieser Ebene Netzwerk programmiert.

Aber 15 Minuten nach meinem letzten Post, und nur mit "man gethostname" und "man gethostbyname", habe ich hier ein lauffähiges Programm. (Ja verdammt, hat viel länger gedauert als es müßte. Ich wollte partout mein eigenes Handling einbauen, statt mich einfach nur an das fertige Beispiel der Manpage zu halten.)

Nein, den Source poste ich nicht.

Ich werde Dir nicht mehr helfen. Hier nicht, und anderswo auch nicht. Ich habe es endgültig satt, jemandem derart merkbefreitem unter die Arme zu greifen, nur daß er beim nächsten Mal wieder genau dieselbe ätzende Einstellung zur Schau stellen kann. Beggars can't be choosers.

[ - Direktlink - ]

04.03.2008, 17:37 Uhr

_PAB_
Posts: 3016
Nutzer
@MaikG:
> Stell dir einfach vor, ich möchte meine aktuelle IP in einem kleinen Fenster auf der Workbench darstellen.

Wenn ich das tue, komme ich auf folgende Lösung:
> wget irgendein.webservi.ce/meine_ip.html
> Datei einlesen und parsen, Fensterrahmen drum, fertig.

[ - Direktlink - ]

04.03.2008, 17:44 Uhr

Holger
Posts: 8050
Nutzer
Zitat:
Original von Robin:
Es ist halt nicht einfach zu sagen welches DEINE IP ist, wenn man nur deinen Rechner betrachtet ... stell dir einen Rechner mit 3 Netzwerkkarten vor...

Mal ganz abgesehen von der IP-Adresse 127.0.0.1, die man ja sowieso besitzt. Deshalb hat man immer mehr als eine IP-Adresse, sobald man online ist. Aber wie schon oben geschrieben, lassen sich lokale Netze identifizieren und ausblenden. Dann bleiben nur noch die von außen sichtbaren übrig. Blöd nur, wenn es dann gar kein außen gibt. Dann wäre die LAN-Adresse vielleicht doch relevant. Was sie ja sowieso ist, wenn man mit seinem Mitbewohner kommunizieren möchte.

Dann hat man also auch mit nur einer Netzwerkkarte schon drei Adressen, von denen mindestens zwei in einer Netzwerkstatusanzeige angezeigt werden sollten.

mfg

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Direktlink - ]


-1- 2 3 4 5 6 Letzte   Thema geschlossen  


amiga-news.de Forum > Programmierung > Eigene IP ermitteln? [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1997-2019 by amiga-news.de - alle Rechte vorbehalten.
.