1. 程式人生 > >域名查詢IP及公網IP地址地理位置查詢

域名查詢IP及公網IP地址地理位置查詢

ip 查詢 域名 腳本 shell

#!/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地址地理位置查詢