Linux查同时登录ip,查看登录过Linux的IP的地理位置(基于last命令)

本文介绍了一个使用bash脚本结合淘宝IP地址查询API来获取特定用户最近登录的地理位置信息的方法。通过解析last命令输出并调用API,该脚本能够识别用户的登录IP地址及其对应的国家、地区、城市及ISP等详细信息。
摘要由CSDN通过智能技术生成

执行方式:bash  login_city_info_use_taobaoAPI.sh  username[[email protected] Storage]$ bash login_city_info_use_taobaoAPI.sh root

"ip":"119.4.254.195" "country":"中国" "region":"四川" "city":"成都" "isp":"联通"

"ip":"182.149.160.103" "country":"中国" "region":"四川" "city":"成都" "isp":"电信"

"ip":"222.209.8.224" "country":"中国" "region":"四川" "city":"成都" "isp":"电信"

"ip":"222.209.8.70" "country":"中国" "region":"四川" "city":"成都" "isp":"电信"

"ip":"222.209.9.13" "country":"中国" "region":"四川" "city":"成都" "isp":"电信"

"ip":"223.85.209.56" "country":"中国" "region":"四川" "city":"成都" "isp":"移动"

[[email protected] Storage]$

脚本内容如下:[[email protected] Storage]$ more login_city_info_use_taobaoAPI.sh

#!/bin/bash

if [ -z "$1" ];then

echo "Usage: bash login_city_info_use_taobaoAPI.sh root"

exit 1

fi

ip_addr_list=`last | grep $1 | awk '{print $3}' | sort | uniq `

for ip_addr in ${ip_addr_list}

do

result=`curl -s http://ip.taobao.com/service/getIpInfo.php?ip=${ip_addr}`

result_code=`echo ${result} | awk -F',' '{print $1}' | awk -F':' '{print $2}'`

result_info=`echo ${result} | awk -F':{' '{print $2}' | awk -F',' '{print $1,$2,$4,$5,$7}'`

if [ "${result_code}" != "0" ];then

echo -e "\e[1;32mIP:\e[0m${ip_addr} \e[1;32mERROR\e[0m please try again! "

else

echo ${result_info}

fi

done

原文:http://blog.51cto.com/liuxiao255/2066905

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值