-
-
06 Sep 2014 05:02:11 UTC
- Distribution: Sys-HostAddr
- Module version: 0.993
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Issues (3)
- Testers (645 / 107 / 0)
- Kwalitee
Bus factor: 0- 47.96% Coverage
- License: unknown
- Activity
24 month- Tools
- Download (12.07KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
- Dependencies
- unknown
- Reverse dependencies
- CPAN Testers List
- Dependency graph
NAME
Sys::HostAddr - Get IP address information about this host
SYNOPSIS
use Sys::HostAddr;
my $sysaddr = Sys::HostAddr->new();
my $string = $sysaddr->public();
my $aref = $sysaddr->interfaces();
my $aref = $sysaddr->addresses();
my $href = $sysaddr->ip();
my $ip = $sysaddr->first_ip();
my $main = $sysaddr->main_ip();
DESCRIPTION
Sys::HostAddr
provides methods for determining IP address information about a local host.CONSTRUCTOR
my $sysaddr = Sys::HostAddr->new( debug => [0|1], ipv => [4|6], interface => 'ethX', );
- debug
-
debug
will control ancillary/informational messages being printed. - ipv
-
ipv
will limit response data to either IPv4 or IPv6 addresses. Default: IPv4 - interface
-
interface
limits response data to a particular interface, where applicable. This value is overriden if a method is given an interface argument directly.
USAGE
- public()
-
public
will attempt to find the public ip address of your machine. usefull if you're behind some NAT. Sends an automation request to the www.dnsbyweb.com service. Works on IPv4 only. - main_ip( [$method] )
-
main_ip
will attempt to find the "main" or "primary" IP address of the machine. method can be: auto (default), preferred (MSWin32/cygwin only), route, or dns. - first_ip( [$interface] )
-
first_ip
will return the first ip address on a given interface (if provided), or the first ip address returned by ifconfig (that is not localhost). - ip( [$interface] )
-
ip
will return a hash reference containing ipaddress/netmask information keyed by interface. if $interface is provded, will be limited to that interface, otherwise will include all interfaces - addresses( [$interface] )
-
addresses
will return an array reference of all ip addresses found. if $interface is provided, will be limited to that interface. - interfaces()
-
interfaces
will return an array reference of all interfaces found.
EXAMPLES
use Sys::HostAddr; my $sysaddr = Sys::HostAddr->new(); my $int_aref = $sysaddr->interfaces(); foreach my $interface ( @{$int_aref} ){ print "found $interface\n"; } my $addr_aref = $sysaddr->addresses(); foreach my $address ( @{$addr_aref} ){ print "found $address\n"; } my $href = $sysaddr->ip(); foreach my $interface ( keys %{$href} ){ print "$interface has: "; foreach my $aref ( @{$href->{$interface}} ){ print " $aref->{addr} $aref->{netmask}\n"; } } my $ip = $sysaddr->first_ip(); print "$ip found as the first ip address\n"; my $main = $sysaddr->main_ip(); print "$main appears to be the main ip address of this machine\n"; my $pub = $sysaddr->public(); print "public addr appears to be $pub\n";
CAVEATS
- Win32 lightly tested with Strawberry Perl 5.10.1 on Windows7
- Win32 lacks some options, like per interface specification
- Win32 lacks some features, like timeouts during lookups
- Cygwin not tested at all, should work as well as MSWin32
- IPv6 support not well tested.
RESTRICTIONS
AUTHOR
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 471:
You forgot a '=back' before '=head1'
Module Install Instructions
To install Sys::HostAddr, copy and paste the appropriate command in to your terminal.
cpanm Sys::HostAddr
perl -MCPAN -e shell install Sys::HostAddr
For more information on module installation, please visit the detailed CPAN module installation guide.