加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Linux Shell 获取域名的ip地址

(2014-07-30 23:34:27)
标签:

linux

shell

dig

域名ip

gethostbyname

有时候已知域名,需要得到其所对应的ip地址,php中的gethostbyname()函数可以很轻松的完成这个功能,但是其局限性在于只能返回一个ip地址,有很多时候一个域名是对应多个ip的,比如一些大网站(百度、新浪等),(注:php中的gethostbynamel()函数可以返回一个域名的ip列表,以数组形式)本文的方法基于linux中的dig命令(具体用法可百度之),可以得到域名对应的多个ip(如果有的话)。代码如下:
#author: ZHANGCHENG
#2014/07/30
#!/bin/bash
function gethostip(){
result=`dig +short $1 | awk 'NR==1{print $0}'`
url=$1
#echo $result
num=`echo $result | grep -E "^(([0-2]*[0-9]+[0-9]+)\.([0-2]*[0-9]+[0-9]+)\.([0-2]*[0-9]+[0-9]+)\.([0-2]*[0-9]+[0-9]+))$" | wc -l`
#echo $num

if [ $num -eq 0 ];then
#echo "This is CNAME"
gethostip $result
else
dig +short $url
fi
}
gethostip $1

文件名为gethostip.sh
运行:./gethostip.sh www.baidu.com
输出结果:http://s3/mw690/001KAiaGzy6KRppzQauf2&690Shell 获取域名的ip地址" TITLE="Linux Shell 获取域名的ip地址" />


http://s16/mw690/001KAiaGgy6KRpED6tFaf&690Shell 获取域名的ip地址" TITLE="Linux Shell 获取域名的ip地址" />

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有