方法一、使用cip.cc网址
https://cip.cc网址可以查看ip地址属地信息。
linux命令查看ip属地信息
[root@Centos7_Test ~]# curl http://www.cip.cc/183.11.213.214
IP : 183.11.213.214
地址 : 中国 广东 深圳
运营商 : 电信
数据二 : 广东省深圳市 | 电信
数据三 : 中国广东深圳 | 电信
URL : http://www.cip.cc/183.11.213.214
[root@Centos7_Test ~]#
如上查询到的信息中,我们可以获取到ip地址的属国,省市,运营商信息。
方法二、使用ipinfo.io网址
https://ipinfo.io网址可以查看ip地址属地信息
linux命令查看ip属地信息
[root@Centos7_Test ~]# curl -s https://ipinfo.io/183.11.213.214
{
"ip": "183.11.213.214",
"city": "Shenzhen",
"region": "Guangdong",
"country": "CN",
"loc": "22.5455,114.0683",
"org": "AS4134 CHINANET-BACKBONE",
"timezone": "Asia/Shanghai",
"readme": "https://ipinfo.io/missingauth"
}
[root@Centos7_Test ~]#
如上查询到的信息中,我们可以获取到ip地址的属国,省市,运营商信息。且输出信息是英文,对脚本更友好。所以在脚本中使用,我建议用这个方法。
脚本中利用ip属地
Linux服务器运行在公网中,总会有来自一些吃多了没事干的家伙的暴力ssh破解,特别是一些国外的ip地址,我想很少有人在国外连接国内的服务器吧。这种大多是暴力破解ssh密码的。我们可以定时去收集安全日志中那些ssh远程服务器的ip地址,获取这些ip地址的属地,如果是国外的,果断将这个ip地址添加到防火墙拒绝策略中,或者添加到/etc/hosts.deny中。这样可以降低服务器被暴力破解的可能性。
# 查看IP地址属国
[root@Centos7_Test ~]# curl -s https://ipinfo.io/183.11.243.213 |awk -F\" '/country/{print $(NF-1)}'
CN # CN :表示中国,如果不是CN就是其他国家
[root@Centos7_Test ~]#