首页 > 代码库 > 域名查询IP及公网IP地址地理位置查询

域名查询IP及公网IP地址地理位置查询

#!/bin/bash

printf "本脚本包含ip地理位置查询及已知域名查询IP \n"


printf "###################################### \n"

printf "/tmp/dns.txt 需要查询的域名列表目录 \n"

printf "/tmp/dns_ip.txt 存放查询后的域名及IP对应目录 \n"


printf "###################################### \n"

printf "/tmp/droplist.log存放需要查询IP的目录 \n"

printf "/tmp/geoip.txt存放IP查询后地理位置目录 \n"

printf "###################################### \n"


#查询域名对应IP地址

function dns_ip(){

readonly files="/tmp/dns.txt"

readonly dns_list=`cat $files|awk ‘{print $1}‘`

for n in ${dns_list}

do

   domain=`nslookup $n|grep ‘Address‘|grep -v "53"`

   echo "${n}  ${domain}" >> /tmp/dns_ip.txt

done

}

#查询公网IP地理位置

function ip_geo(){

#此处请填写存放IP地址文件路径,一列$3改成$1

ip_list="/tmp/droplist.log"

ips=`cat $ip_list|awk -F ‘ ‘ ‘{print $3}‘`

for i in ${ips}

do

   ip_locate=`curl ip.cn?ip=${i}`

   echo ${ip_locate} >> /tmp/geoip.txt

done

}


#

printf "输入数字  \e[33m1\e[0m 查询域名对应IP地址 \n"

printf "输入数字  \e[33m2\e[0m 查询公网IP地理位置 \n"

read -p "请输入您需要查询的项目: " j

case $j in

       1)

       dns_ip

       ;;

       2)

       ip_geo

       ;;

esac

域名查询IP及公网IP地址地理位置查询