Wie finde ich eigentlich meine eigene IP heraus? Also die eines fremden Rechners bzw. Servers kann man ja per gethostbyname herausfinden (siehe hier ), aber wie mache ich das für meinen eigenen Rechner? Da gibts ja keinen Domainnamen... wo also anpacken?
Also, natürlich funktioniert das Ganze wieder ähnlich. Jeder Rechner heißt für sich ja generell erst mal "localhost". Und hier kann man anpacken:
my $name = (gethostbyname ("localhost"))[0]; my $addr = (gethostbyname ($name))[4];
#print "$name\n"; my $meineip= join ('.', unpack ("C4", $addr)); print "Meine IP ist: $meineip";
Und wie geht das nun?
Also: In der ersten Zeile wird der Rechnername (nicht das localhost) festgestellt, das ist dann sowas mein "MeinLaptop" oder "HeikesPC" oder wie auch immer man seinen Rechner genannt hat. Anhand dieses Namens wird in der zweiten Zeile die Adresse herausgefunden, allerdings noch kodiert, die dann zur IP wird.