Ich suche eine efiziente Möglichkeit die IP zu bekommen, die man NACH einer Einwahl bei dem Provider bekommen hat.
Momentan nutze ich unter Windows ipconfig und werte das aus, aber geht das nicht auch irgentwie einfacher, bzw. Sicherer? Denn IPCONFIG liefert ja je nach system andere "werte" sprich mehr oder weniger Infos. Bei 2 Netzwerkkarten bekomme ich info über beide KArten + Info zur Verbindung. Das ist schlecht
Also, kennt jemand eine einfache Methode?
IP erkennen/rausbekommen.
-
- User
- Beiträge: 728
- Registriert: Sonntag 22. September 2002, 08:32
- Wohnort: Sauerland
- Kontaktdaten:
Piddon, cat /proc/net/route liefert unter Linux folgendes:
Interessant sind hier IFace und Destination. eth0 ist die erste Netzwerkkarte und eth1 die zweite. Unter Destination steht die IP-Adresse (die Bytes von rechts nach links lesen!)
Ich habe kein Windows, also muß ich jetzt raten: deine IP Adresse steht irgendwo in den Tiefen deiner Registry (und wenn du Pech hast, ist bei jeder Windowsversion anders ) Vielleicht mal bei M$ in de Knowledgebase nachschauen. Wenn die es nicht können, versuch's mal bei newsgroups.borland.com (Rubriken c++ oder Delphi) Da habe ich schon so manches gelöst bekommen.
Hans
Code: Alles auswählen
Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT
ppp0 556205D9 00000000 0005 0 0 0 FFFFFFFF 40 0 0
lo 0000007F 00000000 0001 0 0 0 00FFFFFF 40 0 0
eth1 00C9040A 00000000 0001 0 0 0 00FFFFFF 40 0 0
eth0 00C8040A 00000000 0001 0 0 0 00FFFFFF 40 0 0
eth0 00C8040A 00000000 0001 0 0 0 00FFFFFF 40 0 0
ppp0 00000000 556205D9 0003 0 0 0 00000000 40 0 0
Ich habe kein Windows, also muß ich jetzt raten: deine IP Adresse steht irgendwo in den Tiefen deiner Registry (und wenn du Pech hast, ist bei jeder Windowsversion anders ) Vielleicht mal bei M$ in de Knowledgebase nachschauen. Wenn die es nicht können, versuch's mal bei newsgroups.borland.com (Rubriken c++ oder Delphi) Da habe ich schon so manches gelöst bekommen.
Hans
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hallo,
ich hatte ein ähnliches Problem, und zwar bei XChat. Für dcc brauchte ich den Eintrag der nach aussen sichtbaren IP, die aber eine ander ist als die die ich von meinem Provider zugewiesen bekomme.
Meine Lösung besteht aus 2 Scripten, einem kleinen php-Script auf einem phpfähigen Server und einem Pythonscript das beim Start von XChat die IP vom Server mit dem Webserverscript holt und in die Config von XChat einträgt.
Hier die Scripts:
einfach als ip.php auf einen Server legen, Du kannst auch gerne meines mitbenutzen http://www.sol.at/fritz/ip.php
ipnummer enthält dann Deine nach aussen sichtbare IP
Gruß
Dookie
ich hatte ein ähnliches Problem, und zwar bei XChat. Für dcc brauchte ich den Eintrag der nach aussen sichtbaren IP, die aber eine ander ist als die die ich von meinem Provider zugewiesen bekomme.
Meine Lösung besteht aus 2 Scripten, einem kleinen php-Script auf einem phpfähigen Server und einem Pythonscript das beim Start von XChat die IP vom Server mit dem Webserverscript holt und in die Config von XChat einträgt.
Hier die Scripts:
Code: Alles auswählen
<? echo $REMOTE_ADDR ?>
Code: Alles auswählen
#!/usr/bin/env python
import httplib
conn = httplib.HTTPConnection("www.sol.at")
conn.request("GET", "/fritz/ip.php")
res = conn.getresponse()
if res.reason == "OK":
ipnummer = res.read()
conn.close()
Gruß
Dookie
ich kenn mich mit den sockets und anderen Libs zum Internet nich so gut aus, bräuchte sie aber eigentlich. Kannst du mir den Code mal erklären Dookie? ich würde ansonsten das benutzen, aber auch gern deins verstehen:
thx Milan
Code: Alles auswählen
from urllib import urlopen
ip=urlopen('http://www.sol.at/fritz/ip.php').read()
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi Milan,
na dann will ich mal versuchen, den Code auseinanderzudröseln.
Meine etwas aufwändigere Methode hat den Vorteil, daß, bei einer nicht erreichbaren Seite, ipnummer nicht gesetzt wird, während bei der Verwendung von urlopen eine Seite mit der Fehlermeldung zurückgegeben wird was aber in der Weiteren verarbeitung der Daten dann aufwändiger abgefragt werden müsste., ich kann in meinem Fall ja nicht als IP-Nummer in der XChat.config eine solche Ausgabe eintragen.
Beispiel:
Für mich war es auch das erste mal, daß ich so etwas probiert habe und mein Script läuft seit ein paar Monaten ohne Probleme. Wie so oft beim Programmieren, führe viele Wege nach Rom.
Hoffe geholfen zu haben, Gruß
Fritz
na dann will ich mal versuchen, den Code auseinanderzudröseln.
Code: Alles auswählen
import httplib
conn = httplib.HTTPConnection("www.sol.at") #Verbindung zum Webserver herstellen
conn.request("GET", "/fritz/ip.php") #die Seite "/fritz/ip.php" anfordern
res = conn.getresponse() # Antwort vom Webserver holen
if res.reason == "OK": # Seite existiert und ist erreichbar
ipnummer = res.read() # ganze Seite lesen
conn.close()
Beispiel:
Code: Alles auswählen
>>> ip=urlopen('http://www.sol.at/fritz/up.php').read()
>>> ip
'<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">\n<HTML><HEAD>\n<TITLE>404 Not Found</TITLE>\n</HEAD><BODY>\n<H1>Not Found</H1>\nThe requested URL /fritz/up.php was not found on this server.<P>\n<HR>\n<ADDRESS>Apache/1.3.27 Server at www.sol.at Port 80</ADDRESS>\n</BODY></HTML>\n'
>>> ip=urlopen('http://www.sox.at/fritz/up.php').read()
>>> ip
'<head><title>File Not Found - Datei nicht gefunden</title></head>\n<body><H1>File Not Found - Datei nicht gefunden</h1>\nThe requested URL was not found on this server.<p>\nDie gewünschte URL wurde auf diesem Server nicht gefunden.<p>\n</body>\n'
>>>
Hoffe geholfen zu haben, Gruß
Fritz
Zuletzt geändert von Dookie am Freitag 1. November 2002, 19:58, insgesamt 1-mal geändert.