WWW::IP - Was ist meine öffentliche IP Adresse?

Veröffentlicht von Thomas Fahle am (Permalink)

matrix_medium_6886658738.jpg

WWW::IP - Returns your ip address with failsafe mechanism von David Farrell ermittelt die eigene öffentliche IP-Adresse.

Beispiel

#!/usr/bin/perl
use strict;
use warnings;
use WWW::IP;

my $ip = get_ip();

print "IP: $ip\n";

Ausgabe des Beispielprogramms:

IP: 79.232.98.21

Failsafe

Um Ausfallsicherheit zu erreichen, fragt WWW::IP nacheinander bis zu drei verschiedene Dienste (Webservices), für die entsprechende Perl Module zur Verfügung stehen, ab:

Der erste Treffer gewinnt, die anderen Dienste werden dann nicht mehr abgefragt.

 

WWW::curlmyip

WWW::curlmyip von David Farrell nutzt http://curlmyip.com/ um die öffentliche IP-Adresse zu ermitteln.

Beispiel

#!/usr/bin/perl
use strict;
use warnings;
use WWW::curlmyip;

my $ip = get_ip();

print "IP: $ip\n";

Ausgabe des Beispielprogramms:

IP: 79.232.98.21

 

WWW::hmaip

WWW::hmaip von David Farrell nutzt http://geoip.hidemyass.com/ip/ um die öffentliche IP-Adresse zu ermitteln.

Beispiel

#!/usr/bin/perl
use strict;
use warnings;
use WWW::hmaip;

my $ip = get_ip();

print "IP: $ip\n";

Ausgabe des Beispielprogramms:

IP: 79.232.98.21

 

WWW::ipinfo

WWW::ipinfo von David Farrell nutzt http://ipinfo.io/ um die öffentliche IP-Adresse zu ermitteln. Weiterhin können Geolocation Daten zu der IP-Adresse abgefragt werden.

Die Funktion get_ipinfo() liefert eine Referenz auf einen Hash mit der IP Adresse und den Geolocation Daten zurück.

Beispiel

#!/usr/bin/perl
use strict;
use warnings;
use WWW::ipinfo;

my $ipinfo = get_ipinfo();

my @ipinfo_keys = qw/ip hostname city region country loc org postal/;

foreach my $ipinfo_key (@ipinfo_keys) {
    $ipinfo->{$ipinfo_key} = 'unknown' unless $ipinfo->{$ipinfo_key};
    print "$ipinfo_key: $ipinfo->{$ipinfo_key}\n";
}

Ausgabe des Beispielprogramms:

ip: 79.232.98.21
hostname: p4FE86215.dip0.t-ipconnect.de
city: Leimbach
region: Hessen
country: DE
loc: 50.7500,9.7833
org: AS3320 Deutsche Telekom AG
postal: unknown

Der Funktion get_ipinfo() kann auch eine IPv4 oder IPv6 Adresse als Parameter übergeben werden, dann werden die Geolocation Daten für die angegebene IP zurückgeliefert.

 

Siehe auch:

 

Bildnachweis

phsymyst via photopin cc

 

Weitere Posts