关于inet_aton和inet_ntoa(perl)

来源:互联网 发布:mac safari httm5 编辑:程序博客网 时间:2024/05/17 00:05

关于inet_atoninet_ntoa(perl)

 

得到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).

 

e.g.

 

use Socket;

my $SiteName;

my $Address;

 

$SiteName = 'ebs12.hand-china.com';#$SiteName = '192.168.11.13';

$Address = inet_ntoa(inet_aton$SiteName);

print inet_aton($SiteName),"/n";

print "The DNS address of ebs12.hand-china.com is $Address/n";

 

结果:

_

 

The DNS address of ebs12.hand-china.com is 192.168.11.13

 

我们可以看到print inet_aton($SiteName),"/n";打印出来的是“括_”。所以,我们可以得到inet_aton()函数返回的是“an opaque string”,一个模糊的字符串。

 

再看print "The DNS address of ebs12.hand-china.com is $Address/n";

打印出来的结果是“The DNS address of ebs12.hand-china.com is 192.168.11.13”。所以,我们可以得出inet_ntoa()函数返回的是IP地址。