Linux 获取外部 IP 及当前地址

说到获取外部 IP,很多人的第一反应就是百度一下 IP 关键字,即可在搜索结果内获取到本机的外部 IP。但这种方式仅适用于有 GUI 和浏览器的前提下,若系统没装 GUI,只有 CLI 的情况下呢?相信很多人都有 curl http://www.ip138.com 的体验,那乱七八糟的输出,还真是苦不堪言。

有没有一种便捷的,可以快速获取到 Linux 外部 IP 的方法呢?

答案当然是肯定的,下面就来说说如果通过命令行快速地获取 Linux 本机的外部 IP 及当前所在的地址。

获取外部 IP 信息

要简单地输出外部 IP 信息,其实并不难,关键是找对地址,ip38 那种遍布广告的地址就是一个错误的例子。

下面我们看看有哪些地址可以简介明了地获取到外部 IP:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[hzz@magedu ~]$ curl https://ifconfig.co
139.199.2.XXX
[hzz@magedu ~]$

# 类似的地址还有很多,记录以备用
members.3322.org/dyndns/getip
ip.6655.com/ip.aspx
whatismyip.akamai.com
icanhazip.com
ident.me
ifconfig.me
inet-ip.info
icanhazip.com
ipecho.net/plain
myip.dnsomatic.com

其他方式:

1
wget -qO- ifconfig.co

获取当前地址

还是通过 ifconfig.co 这个神奇的网站:

1
2
3
4
5
6
7
8
9
# 获取国家
[hzz@magedu ~]$ curl ifconfig.co/country
China
[hzz@magedu ~]$

# 获取城市
[hzz@magedu ~]$ curl ifconfig.co/city
Beijing
[hzz@magedu ~]$

其他方式:

1
2
3
wget -qO- ifconfig.co/country
wget -qO- ifconfig.co/city
curl cip.cc

更多

更多 ifconfig.co 的使用方式,请参考:https://ifconfig.co