linux命令行获取ip地址,Linux命令行获取IP地址的实际地理位置linux操作系统 -电脑资料...

在linux中要知道我们指定IP地址的位置的话我们需要安装一些插件包才可以,下面我整理了几种方法希望这引起方法你能感兴趣哦,

方法一

第一种方法是使用geoiplookup工具,它是一个用于查询MaxMind的GeoIP数据库的命令行客户端。geoiplookup允许你查询一个IP地址(或域名)的地理信息或者网络信息。你可以通过以下命令安装它(它自带了免费的GeoIP数据库)。

在Debian,Ubuntu或Linux Mint上安装geoiplookup:

sudo apt-get install geoip-bin

在Fedora上安装:

sudo yum install geoip

要在CentOS上安装,需要先打开EPEL源,然后使用yum命令:

sudo yum install geoip

默认情况下安装的geoiplookup以及GeoIP.dat数据库文件位于/usr/share/GeoIP。这个数据库只能查询到国家信息。

geoiplookup 23.66.166.151

GeoIP Country Edition: US, United States

你可以从MaxMind上下载额外的GeoIP数据库,它将会告诉你更详细的信息而不仅仅是国家。你也可以从这个网站上下载到许多最新的GeoIP.dat数据库。我推荐你这么做因为从Linux源上安装的GeoIP.dat可能已经过时了。MaxMind上的GeoIP数据库每月更新一次。

要从MaxMind上安装GeoIP数据库,按照下面的方法。你可能想添加一个cronjob(crontab任务,crontab是Unix和类Unix系统中用于周期性执行任务的指令,译注)来使这个过程自动化。

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

wget http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz

gunzip GeoIP.dat.gz

gunzip GeoIPASNum.dat.gz

gunzip GeoLiteCity.dat.gz

sudo cp GeoIP.dat GeoIPASNum.dat GeoLiteCity.dat /usr/share/GeoIP/

现在如果你重新执行geoiplookup,你将会看到额外的自治系统编号(AS Number)信息,Linux命令行获取IP地址的实际地理位置linux操作系统》(https://www.unjs.com)。这将会让你大致了解这个IP地址是属于哪个管理域(administrative domain)。

geoiplookup 128.112.119.209

GeoIP Country Edition: US, United States

GeoIP ASNum Edition: AS88 Princeton University

如果在运行命令时不带任何参数,geoiplookup工具将只自动的使用GeoIP.dat和GeoIPASNum.dat,而不会用GeoLiteCity.dat。后面将教你查看城市一级的信息。

要获取城市一级的地理位置信息,需要显式的告诉geoiplookup使用GeoLiteCity.dat数据库。

geoiplookup -f /usr/share/GeoIP/GeoLiteCity.dat 23.66.166.151

GeoIP City Edition, Rev 1: US, MA, Cambridge, 02142, 42.362598, -71.084297, 506, 617

输出包括州,城市,邮政编码,纬度和经度。所指示不同国家和网络地址的准确性因地而异。例如,宽带IP地址的地理位置信息要比移动网络准确。

方法二

如果你想免去安装和升级GeoIP数据库的烦恼,你可以试试ipinfo.io在线服务。和其他的服务不同,ipinfo.io提供了基于JSON的地理信息API,所以你可以很容易的在命令行使用像curl之类的工具获取地理信息。

curl ipinfo.io/23.66.166.151

geoip

需要注意的是它们的API限制每天最高1,000次请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值