#!/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