Seite 1 von 2

eigene öffentliche-IP ermitteln

Verfasst: So 23. Feb 2014, 12:51
von PIC18F2550
Ist es möglich die eigene IP ( nicht die interne 192.168.x.x ) mit der sich der Router mit dem I-Net meldet zu ermitteln.
So was wie 214.44.26.201 .

Re: eigene IP ermitteln

Verfasst: So 23. Feb 2014, 12:56
von drohne235
Jo, geht zum Beispiel hier:

http://www.wieistmeineip.de/

Re: eigene IP ermitteln

Verfasst: So 23. Feb 2014, 13:13
von PIC18F2550
Den Link kenne ich schon.

<div id="ipv4" class="ip">
<div><h1>Ihre IP-Adresse lautet:</h1></div>
<div class="title"><strong>187.72.11.190</strong></div>
</div>

Einfach suchen und ausschneiden.

:( mit dem HIVE? Das hätte ich vieleicht noch dazu schreiben sollen.

Re: eigene IP ermitteln

Verfasst: Di 25. Feb 2014, 20:31
von joergd
PIC18F2550 hat geschrieben:mit dem HIVE?
Das war doch gleich mal eine prima Idee für mein erstes Basic-Programm nach ~25 Jahren:

Code: Alles auswählen

10 CLS 
20 CROFF 
30 PRINT "Lade admnet..."
40 REM mount SD Card
50 XBUS (1,0,1,0)
60 REM sdmacct system
70 e=XBUS (1,1,25,1)
80 REM admload admnet.adm
90 XBUS (1,0,96,10,97,100,109,110,101,116,46,97,100,109)
100 PRINT "Starte Netzwerk..."
110 XBUS (1,0,71):REM lanstart
120 PRINT "Verbinde mit Server..."
125 n=0
129 IF n=5 THEN PRINT "Verbindung fehlgeschlagen":END 
130 i=XBUS (1,1,73,146,255,36,1,0,80)
140 IF i=255 THEN PRINT "Kein Socket frei":END 
170 c=XBUS (1,1,75,i,7,208):REM lan_waitconntimeout 2000ms
180 n=n+1
190 PRINT "Connect ";n,c
200 IF c=0 THEN GOTO 129
210 PRINT "Sende Anfrage..."
220 e=XBUS (1,1,79,i,0,0,0,11,71,69,84,32,47,112,108,97,105,110,32)
230 e=XBUS (1,1,79,i,0,0,0,10,72,84,84,80,47,49,46,48,13,10)
240 e=XBUS (1,1,79,i,0,0,0,6,72,111,115,116,58,32)
250 e=XBUS (1,1,79,i,0,0,0,14,105,112,101,99,104,111,46,110,101,116,13,10,13,10)
255 PRINT "Antwort:"
260 b=XBUS (1,1,77,i,10,0)
270 IF b=255 THEN GOTO 295
280 PRINT CHR$ (b);
290 GOTO 260
295 PRINT " "
300 XBUS (1,0,76):REM lan_close
Für das richtige Retro-Feeling kann man das ins aktuelle TriOS-Basic eintippen und mit RUN starten. Alternativ in eine Datei (z.B. "getip.bas") ins BASIC-Verzeichnis der SD-Karte kopieren und im TriOS-Basic mit LOAD "getip.bas" laden. Auf der SD-Karte sollte sich in /system das netzwerkfähige TriOS (mit admnet.adm) befinden.

Re: eigene IP ermitteln

Verfasst: Di 25. Feb 2014, 20:41
von drohne235
Ich bin begeistert, kann aber leider gerade nicht testen.

Code: Alles auswählen

220 e=XBUS (1,1,79,i,0,0,0,11,71,69,84,32,47,112,108,97,105,110,32)
230 e=XBUS (1,1,79,i,0,0,0,10,72,84,84,80,47,49,46,48,13,10)
240 e=XBUS (1,1,79,i,0,0,0,6,72,111,115,116,58,32)
250 e=XBUS (1,1,79,i,0,0,0,14,105,112,101,99,104,111,46,110,101,116,13,10,13,10)
255 PRINT "Antwort:"
260 b=XBUS (1,1,77,i,10,0)
Was passiert in dieser Sequenz?

Re: eigene IP ermitteln

Verfasst: Di 25. Feb 2014, 20:53
von joergd
1: an Administra
1: 1 Byte als Antwort
79: Funktion 79 (ios.lan_txdata)
i: Socket der Verbindung
0,0,0,x: Anzahl der folgenden Bytes (als long)
...: dann folgen die Bytes (ASCII-Code)

In Zeile 260 wird die Funktion 77 (ios.lan_rxtime) aufgerufen, die liest ein Byte vom Empfangspuffer.

Re: eigene IP ermitteln

Verfasst: Di 25. Feb 2014, 22:19
von zille9
Jetzt bin ich aber auch perplex, wie schnell Du Dich in die neuen Funktionen von Trios-Basic eingearbeitet hast.
Genau für solche Sachen war die XBUS-Funktion gedacht. :DAUMENHOCH

Re: eigene IP ermitteln

Verfasst: Di 25. Feb 2014, 23:35
von drohne235
Jörg ist wahrscheinlich ein geborener Assimilator... :twisted:

Re: eigene IP ermitteln

Verfasst: Mi 26. Feb 2014, 00:49
von PIC18F2550
:? kommt da in etwa so was Raus?

Code: Alles auswählen

<?php
  $ip = $_SERVER['REMOTE_ADDR'];
  echo $ip;
?>
Das währe nähmich die Gundlage für einen Serverlosen Borgknoten. Eine Art P2P Netzwerk. :D

"GET /plain "
"HTTP/1.0{NL}{AF}"
"Host: "
"ipecho.net{NL}{LF}{NL}{LF}" <-EDIT

Da breuchte ich immer noch einen anderen Server der mir antwortet. Geht das auch ohne?

Re: eigene IP ermitteln

Verfasst: Mi 26. Feb 2014, 08:09
von U-Held
PIC18F2550 hat geschrieben: Da breuchte ich immer noch einen anderen Server der mir antwortet. Geht das auch ohne?
Hallo PIC,

natürlich brauchst Du einen Gegenüber. Du willst nämlich gar nicht die IP-Adresse Deines Hive ermitteln,
sondern die Deines DSL-Routers, der für Dein gesamtes Heim-Intranet das NATting ins Internet durchführt. Eventuell bietet Dein DSL-Router auch eine Funktion, seine externe IP-Adresse zu verraten, aber das ist nicht allgemeingültig auf alle Router anwendbar.

Überlege noch mal, was Du wirklich willst. Vielleicht reicht für Deinen Zweck im Intranet ipconfig.

Gruß,
Dietmar