Perl Socket::inet_aton和inet_ntoa
得到DNS地址的两个主要函数是Socket模块中的inet_aton()函数,用来保存DNS地址,然后使用inet_ntoa()函数把保存的地址转换成IP地址。
?
l? inet_aton HOSTNAME
Takes a string giving the name of a host, and translates that to an opaque string (if programming in C, struct in_addr). Takes arguments of both the 'rtfm.mit.edu' type and '18.181.0.24'. If the host name cannot be resolved, returns undef. For multi-homed hosts (hosts with more than one address), the first address found is returned.
For portability do not assume that the result of inet_aton() is 32 bits wide, in other words, that it would contain only the IPv4 address in network order.
?
l? inet_ntoa IP_ADDRESS
?
Takes a string (an opaque string as returned by inet_aton(), or a v-string representing the four octets of the IPv4 address in network order) and translates it into a string of the form 'd.d.d.d' where the 'd's are numbers less than 256 (the normal human-readable four dotted number notation for Internet addresses).
?
?
#!/usr/bin/perl -wuse strict;use Socket;my $ipdotted = 'www.wtgame.com';my $ipnetwork = inet_aton($ipdotted);my $revipdotted = inet_ntoa($ipnetwork);print $ipnetwork,"\n";print "$ipdotted\n$revipdotted \n";exit 0;
?