通过hostname获取IP的perl脚本

作者: 弦乐之花 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明

链接http://shiri512003.itpub.net/post/37713/499431

[@more@]

有时候我们会需要获取主机IP信息,下面收录一个通过主机名获取IP的perl脚本

http://www.metalshell.com/source_code/36/Hostname_Lookup.html

#!/usr/bin/perl
# resolv.pl written by detour@metalshell.com
#
# Resolves an ip into a host or a host into an ip.
#
# http://www.metalshell.com/
#
 
use Socket;
use strict;
 
my $host_name = hostname($ARGV[0]);
print "$ARGV[0] resolves to $host_namen";
 
sub hostname {
 
  my (@bytes, @octets,
    $packedaddr,
    $raw_addr,
    $host_name,
    $ip
  );
 
  if($_[0] =~ /[a-zA-Z]/g) {
    $raw_addr = (gethostbyname($_[0]))[4];
    @octets = unpack("C4", $raw_addr);
    $host_name = join(".", @octets);
  } else {
    @bytes = split(/./, $_[0]);
    $packedaddr = pack("C4",@bytes);
    $host_name = (gethostbyaddr($packedaddr, 2))[0];
  }
 
  return($host_name);
}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7591490/viewspace-1033056/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7591490/viewspace-1033056/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值