Chinaunix首页 | 论坛 | 博客
  • 博客访问: 929255
  • 博文数量: 245
  • 博客积分: 11429
  • 博客等级: 上将
  • 技术积分: 2662
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-15 00:16
文章存档

2011年(56)

2010年(174)

2009年(15)

分类: Python/Ruby

2011-11-03 10:32:09

  inet_aton()    转换,转换压缩为二进制形式,也可以将主机名转换为压缩的ip地址
  gethostbyname     将符号型主机名转换为压缩的ip地址
  gethostbyaddr     作相反的转换
  inet_ntoa     转换为可阅读的“圆点四元组”
[root@jzlfs perl]# cat gethostbyname.pl 

#!/usr/bin/perl -w 
use Socket;
while(<>){
chomp;
my $packed_address = gethostbyname($_);
unless ($packed_address){
print "$_ => ?\n";
next
}
  my $dotted_quad = inet_ntoa($packed_address);
  print "$_ => $dotted_quad \n";
测试:
perl gethostbyname.pl < hostname.txt 
=> 192.168.1.222 
2.将ip转换为主机名
#!/usr/bin/perl -w 
use Socket;
my $ADDR_PAT = '^/d \. \d \. \d \.\d $';
while (<>){
chomp;
die "$_: not a valid address" unless /$ADDR_PAT/o;
my $name = gethostbyaddr(inet_aton($_),AF_INET);
$name ||= '?';
print "$_ => $name \n";
}
阅读(2251) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~