geoip库,IP38库,ipaapi库,ip2location库等等....
#!/bin/bash
ScriptDir=$(cd `dirname $0`; pwd)
Ip=$1
#百度api
baidu_ip(){
Ipinfo=`${Curl} "http://opendata.baidu.com/api.php?query=${Ip}&resource_id=6006&format=json"|${Utf}`
echo "${Ipinfo}" |jq .data[]|jq -r '["baidu",.origip,.location,"",""]|join("|")' >>/tmp/ip.info
}
#太平洋api
taipingyang_ip(){
Ipinfo=`${Curl} "http://whois.pconline.com.cn/ipJson.jsp?ip=${Ip}&json=true"|${Utf}`
echo "${Ipinfo}" |jq -r '["pconline",.ip,.addr,"",""]|join("|")'>>/tmp/ip.info
}
##淘宝
##ip-api
ip_api_ip(){
Ipinfo=`${Curl} "http://ip-api.com/json/${Ip}?lang=zh-CN"`
echo "${Ipinfo}"|jq -r '["ipapi_com",.query,.country,.city,.org]|join("|")' >>/tmp/ip.info
}
##ipapi.co
ipapi_co_ip(){
Ipinfo=`${Curl} "https://ipapi.co/${Ip}/json/"|sed 's/^ "/"/g'|paste -s -d" "`
echo "${Ipinfo}" |jq -r '["ipapi_co",.ip,.country_name,.city,.org]|join("|")' >>/tmp/ip.info
}
##ipwhois
ipwhois_ip(){
Ipinfo=`${Curl} "http://ipwhois.app/json/${Ip}"`
echo "${Ipinfo}"|jq -r '["ipwhois",.ip,.country,.city,.org]|join("|")' >>/tmp/ip.info
}
##freegeoip
#获取免费token
#https://app.ipbase.com/api-keys
ApiKey="xxx"
ipbase_ip(){
Ipinfo=`${Curl} "https://api.ipbase.com/v2/info?ip=${Ip}" -H "apikey: ${ApiKey}" `
echo "${Ipinfo}"|jq .data|jq -r '["ipbase",.ip,.location.country.name,.location.city.name,.connection.organization]|join("|")' \
>>/tmp/ip.info
}
##ip138
ip138(){
#获取免费token
Ipinfo=`${Curl} "https://api.ip138.com/ipv4/?ip=${Ip}&datatype=jsonp&token=xxxx"`
echo "${Ipinfo}"|jq -r '["ip138",.ip,.data[0],.data[1],.data[4]]|join("|")' >>/tmp/ip.info
}
##geoiplookup
geoiplookup(){
Tmpfile="/tmp/geoiplookup.info"
${Curl} "https://api.geoiplookup.net/?query=${Ip}" >${Tmpfile}
Ipinfo="geoiplookup"
for i in ip countryname city isp;do
#apt-get install libxml2-utils
value=`xmllint --xpath "ip/results/result/${i}/text()" ${Tmpfile} 2>/dev/null`
Ipinfo="${Ipinfo}|${value}"
done
echo "${Ipinfo}" >>/tmp/ip.info
}
###ip2location
ip2location(){
#获取免费token
#https://lite.ip2location.com/database-download
#ip2_download_token="xxx"
#curl -o "https://www.ip2location.com/download/?token=ip2_download_token&file=${DATABASE_CODE}"
#https://www.ip2location.io/dashboard
api_key="xxx"
Ipinfo=`${Curl} "https://api.ip2location.io/?key=${api_key}&ip=${Ip}"`
echo "${Ipinfo}"|jq -r '["ip2Location","'${Ip}'",.country_name,.city_name,.as]|join("|")' >>/tmp/ip.info
}
ip2whois(){
#获取免费token
api_key="xxx"
Whoisinfo=`${Curl} "https://api.ip2whois.com/v2?key=${api_key}&domain=${Domain}"`
}
Curl="curl -A 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)' --connect-timeout 5 -s"
Utf="iconv -f gb18030 -t utf-8"
echo "查询源|IP|国家|城市|运营商" >/tmp/ip.info
geoiplookup
ip138
ip_api_ip
baidu_ip
taipingyang_ip
ipapi_co_ip
ipwhois_ip
ipbase_ip
ip2location
cat /tmp/ip.info|sed 's/| /|/g'|column -t -s '|'