Seite 1 von 1
LAN-IP rausfinden
Verfasst: Samstag 22. Juli 2006, 08:55
von Whitie
Hallo Forum,
wie kann ich die IP-Adresse meines Rechners im lokalen Netzwerk rausfinden ?
Ich habe über die Suche folgendes gefunden:
Code: Alles auswählen
import socket
ip = socket.gethostbyname(socket.gethostname())
Leider liefert mir dieser Code nur die Adresse vom Loopback (127.0.0.1).
Ich bräuchte aber die Adresse der Netzwerkkarte (z.B. 10.0.0.4)
Gruß, Whitie
Verfasst: Sonntag 23. Juli 2006, 02:04
von Masaru
Probier das mal:
Code: Alles auswählen
import socket
ip = socket.gethostbyname(socket.getfqdn())
Gruß,
>>Masaru<<
Verfasst: Montag 24. Juli 2006, 06:02
von Whitie
Danke für die Antwort, leider ergibt der Code auch nur 127.0.0.1
Hat noch jemand einen Vorschlag ?
Gruß, Whitie
Verfasst: Montag 24. Juli 2006, 07:40
von gerold
Whitie hat geschrieben:Hat noch jemand einen Vorschlag?
Hi Whitie!
Du hast leider nicht dazugeschrieben, welches Betriebssystem du benutzt.
http://www.microsoft.com/technet/script ... x?mfr=true
mfg
Gerold

Verfasst: Montag 24. Juli 2006, 07:48
von Whitie
Sorry, ich nutze Kubuntu.
Das Programm soll aber später in einer gemischten Umgebung laufen.
In einer nur Linux oder nur Windows Umgebung hätte ich das Problem mit einem os.system(...) oder Ähnlichem gelöst.
Ich kann mir aber nicht vorstellen, dass das nicht mit Bordmitteln geht.
Na ja, danke erstmal für den Link, vielleicht programmiere ich einfach 2 Varianten, die dann je nach BS aufgerufen werden.
Gruß, Whitie
Verfasst: Montag 24. Juli 2006, 08:22
von gerold
Whitie hat geschrieben:vielleicht programmiere ich einfach 2 Varianten, die dann je nach BS aufgerufen werden.
Hi Whitie!
Dir wird wahrscheinlich nichts anderes übrig bleiben.
mfg
Gerold

Verfasst: Mittwoch 11. Juli 2007, 13:53
von fab
Hallo zusammen
Ich bin so frei und mache in diesem Thread weiter statt einen neuen zu eröffnen, da ich das gleiche Problem, aber keine Lösung habe.
Code: Alles auswählen
import socket
# System name
sys_name = socket.gethostname()
# IP adress
ip_addr = socket.gethostbyname(sys_name)
print ip_addr
Unter Windows funktioniert dies ohne Probleme, es wird die IP-Adresse der Netzwerkkarte angezeigt. Aber unter Linux zeigt er mir auch nur 127.0.0.1, resp. die IP-Adresse des Loopbacks an.
Wenn ich nun die IP-Adresse der Linux-Maschine will, muss ich dann mit
ifconfig arbeiten, um an diese Informationen zu gelangen oder geht es auch einfacher oder eleganter?
Vielen Dank für eine mögliche Hilfe
Gruss Fabian
Verfasst: Mittwoch 11. Juli 2007, 14:39
von Y0Gi
Möglicherweise kannst du die Adresse irgendwo in /proc finden, das ist etwas direkter als den Output von ipconfig zu parsen.
Verfasst: Mittwoch 11. Juli 2007, 14:54
von veers
Wozu braucht ihr denn die externe IP Adresse? Was wenn es mehrere gibt? O_o
Verfasst: Mittwoch 11. Juli 2007, 15:11
von fab
@ Y0Gi, danke für den Hinweis
@ veers, ich brauche die LAN-IP-Adresse des Systems, damit später andere System auf diesen Rechner zugreifen können. Sprich ich schreibe sie eine Datei (um genau zu sein, wird sie für den URL gebraucht für einen Zugriff auf den Webserver. Ich hätte gerne die IP-Adresse, da ich das Script so auch verwenden kann, wenn kein DNS-Server im Netzwerk vorhanden ist) und übertrage die Datei auf die anderen Systeme. Meistens ist ja nur eine Netzwerkkarte auf einmal aktiviert, aber es könnte eventuell zu Problemen kommen, ohne weiter auf die Speziallfälle einzugehen.
Gruss Fabian
Verfasst: Mittwoch 11. Juli 2007, 15:30
von veers
Hm verbinde mit dem System dessen IP du wissen möchtest zu dem welches die IP später brauchst. Danach kannst du auf beiden Systemen die verwendete IP sehen. Ist nicht hübsch Funktioniert aber auch bei etwas komplexeren Netzwerkstrukturen/Routes.
