IP-Adresse

Aus Thomas Wiki
Zur Navigation springen Zur Suche springen

Heute stellte sich mir die Frage, wie stelle ich am einfach die IP-Adresse des Rechners unter Linux fest. Eine Google-Suche führte zu Forenbeitrag mit immer neuen Vorschlägen bis hin zu Laufzeitvergleichen der Vorschläge. Wenn Linux Shell Freak in Fahrt kommen, kann sie keiner halten. Wahrscheinlich werden die gesparten Milli-Sekunden sich im Laufe der Jahre zu einen deutlichen Gewinn an Lebenszeit summieren.

Die Frage ist außerdem nicht ganz präzise. Er Rechner hat immer die Loopback Adresse 127.0.0.1. Ein Rechner kann mehrere Netzwerkkarten haben, die wiederum mehrere IP-Adressen haben können. Im letzteren Fall erhalten die Netzwerkkarten allerdings zusätzliche Namen wie beispielsweise eth0:0, eth0:1. Ein VPN-Tunnel erzeugt eine virtuelle Netzwerkkarte mit einer eigenen IP-Adresse. Damit stellt sich die Frage: Welche IP-dresse hätten Sie denn gerne?

Beschränken wir uns auf zwei Fälle: Der Gerätename ich bekannt und alle IP-Adressen.

Anmerkung: Mein Rechner verwendet eine Netzwerkbrücke, deshalb ist die erste Adresse an br0 statt eth0 gebunden.

Bourne Again Shell (bash)

Fall 1:IP-Adresse eines Gerätes

u1@r1:~> /sbin/ifconfig br0 | sed -n '/inet Adresse:/ { s# *inet Adresse:##; s# .*##p }'
192.168.2.197

Fall 2: IP-Adresse aller Geräte

Wird der Gerätename br0 weg gelassen, liefert der Befehl eine Liste aller Adressen.

u1@r1:~> /sbin/ifconfig | sed -n '/inet Adresse:/ { s# *inet Adresse:##; s# .*##p }'
192.168.2.197
192.168.200.1
127.0.0.1

Wer eine andere Sprachlokalisation verwendet, muss hier den Teil “inet Adresse” anpassen. Ich nehme mir jetzt nicht die Zeit, dies zu Internationalisieren.

Gambas

Hier hab ich noch keine Lösung gefunden.

Windows

Unter Windows ist die Sache nicht ganz so einfach, da so schöne Tools wie sed dort im Allgemeinen nicht installiert sind. Aber wenn interessiert Windows?

Eine Funktion es hier. Die dort beschrieben Funktion liefert nur die IP-Adresse der ersten Netzwerkkarte. Diese muss jedoch nicht die Aktive sein, z.B. wenn ein Notebook zwischen WLAN und LAN wandert.