amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > Eigene IP ermitteln? [ - Search - New posts - Register - Login - ]

-1- 2 3 4 5 6 Last   Thread is closed  

2008-03-01, 10:25 h

MaikG
Posts: 5172
User
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?

[ - Direct link - ]

2008-03-01, 10:39 h

Tomcat
Posts: 586
User
http://www.wieistmeineip.de

Tomcat

[ - Direct link - ]

2008-03-01, 11:11 h

thomas
Posts: 7716
User
@Tomcat:

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

Gruß Thomas

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

[ - Direct link - ]

2008-03-01, 11:32 h

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

[ - Direct link - ]

2008-03-01, 11:39 h

DNA
Posts: 176
User
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. ]

[ - Direct link - ]

2008-03-01, 12:04 h

thomas
Posts: 7716
User
@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/

[ - Direct link - ]

2008-03-01, 12:44 h

DNA
Posts: 176
User
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

[ - Direct link - ]

2008-03-01, 13:15 h

MaikG
Posts: 5172
User
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.

[ - Direct link - ]

2008-03-01, 13:44 h

DNA
Posts: 176
User
@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

[ - Direct link - ]

2008-03-01, 17:47 h

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

[ - Direct link - ]

2008-03-01, 18:49 h

DNA
Posts: 176
User
@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

[ - Direct link - ]

2008-03-02, 21:10 h

Holger
Posts: 8116
User
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.

[ - Direct link - ]

2008-03-03, 10:10 h

MaikG
Posts: 5172
User
>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...


[ - Direct link - ]

2008-03-03, 10:50 h

Solar
Posts: 3680
User
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. ]

[ - Direct link - ]

2008-03-03, 13:23 h

MaikG
Posts: 5172
User
>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.

[ - Direct link - ]

2008-03-03, 14:10 h

Holger
Posts: 8116
User
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.

[ - Direct link - ]

2008-03-03, 15:51 h

Solar
Posts: 3680
User
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. ]

[ - Direct link - ]

2008-03-03, 17:58 h

MaikG
Posts: 5172
User
>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.

[ - Direct link - ]

2008-03-03, 18:12 h

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

[ - Direct link - ]

2008-03-03, 20:14 h

uho
Posts: 114
User
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

[ - Direct link - ]

2008-03-04, 09:54 h

MaikG
Posts: 5172
User
>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.

[ - Direct link - ]

2008-03-04, 11:44 h

Solar
Posts: 3680
User
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.

[ - Direct link - ]

2008-03-04, 11:45 h

Solar
Posts: 3680
User
@ MaikG:

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

[ - Direct link - ]

2008-03-04, 12:33 h

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

[ - Direct link - ]

2008-03-04, 15:37 h

MaikG
Posts: 5172
User
>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.

[ - Direct link - ]

2008-03-04, 16:17 h

Solar
Posts: 3680
User
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(

[ - Direct link - ]

2008-03-04, 16:22 h

Robin
Posts: 1056
User
@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

[ - Direct link - ]

2008-03-04, 16:40 h

Solar
Posts: 3680
User
@ 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.

[ - Direct link - ]

2008-03-04, 17:37 h

_PAB_
Posts: 3016
User
@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.

[ - Direct link - ]

2008-03-04, 17:44 h

Holger
Posts: 8116
User
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.

[ - Direct link - ]


-1- 2 3 4 5 6 Last   Thread is closed  


amiga-news.de Forum > Programmierung > Eigene IP ermitteln? [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.