共计 2417 个字符,预计需要花费 7 分钟才能阅读完成。
导读 | 几年前,ifconfig 是 Linux 中最受欢迎的查询本机 IP 地址的方法。但是现如今 ifconfig 命令已经被启用了。在某些 Linux 发行版上已经不用了。那么,除此以外还有什么别的方式来查询 IP 地址呢?今天我们就来了解一下这个问题。 |
现在,可以使用 ip 命令来查询 IP 地址。ip 命令是通用的,可以用于网络相关的其他一些事情。
不过,要显示 IP 地址,可以使用 ip addr,ip a 或者 ip address,如下所示命令:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: wlp58s0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 9c:b6:d0:d0:fc:b5 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.20/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp58s0
valid_lft 5962sec preferred_lft 5962sec
inet6 fe80::bf14:21e3:4223:e5e4/64 scope link noprefixroute
valid_lft forever preferred_lft forever
在上面的输出中,你可以忽略第一个名为 lo(loopback)的输出,除此以外,可以看到 IP 地址显示为 192.168.1.20。它后面的 24 是子网掩码。
如上所示,可以使用 ip 命令获取主机的 IP 地址。除此以外,还可以通过 bash 脚本获取 IP 地址。
除了使用 ip 命令以外,还有其他的几个方法来获取 IP 地址。
hostname
命令查看 IP 地址 hostname
命令通常用于显示系统的主机名,也可以用于显示主机的 IP 地址:
hostname
上述命令会显示主机的 IP 地址:
$ hostname
-I192.168.0.106
nmcli
工具显示 IP 地址 大多数 Linux 发行版都有一个 Network Manager 的工具,该工具有一个名为 nmcli
的命令行界面,可以使用此 nmcli
工具来查看网络配置。比如可以使用如下命令查看 IP 地址:
nmcli
ifconfig
呢? 实际上,我们仍然可以使用 ifconfig
命令。如果系统中不存在这个命令,我们可以手动安装,它存在于网络工具包中。
在基于 Ubuntu 的 Linux 中,可以使用如下命令安装网络工具:
sudo
安装完成后,就可以使用 ifconfig
命令来查询 IP 地址了:
ifconfig
输出如下:
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 14855 bytes 3027297 (3.0 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14855 bytes 3027297 (3.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp58s0: flags=4163 mtu 1500
inet 192.168.0.106 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::bf14:21e3:4223:e5e4 prefixlen 64 scopeid 0x20
ether 9c:b6:d0:d0:fc:b5 txqueuelen 1000 (Ethernet)
RX packets 88413 bytes 61851930 (61.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 56505 bytes 11409219 (11.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
不过,因为 ifconfig
命令已经被弃用,所以我们还是不鼓励使用网络工具,建议使用 ip 命令。
上面我们介绍的都是查询本地内网 IP 地址的方法,也就是局域网的 IP 地址。
内网 IP 地址是局限在局域网中的地址,用于与局域网中的其他设备进行通信。局域网之外的其他设备无法通过这个 IP 地址找到你。我们所说的公网地址一般是指路由器的 IP 地址,路由器通过内网 IP 与你的设备通信。
那么,如何获取公网 IP 地址呢?这就需要借助于第三方工具了。
比如,可以使用 OpenDNS 的 host 命令来获取公网 IP 地址。
host myip.opendns.com resolver1.opendns.com
其输出如下:
Using domain server:
Name: resolver1.opendns.com
Address: 208.67.222.222#53
Aliases:
myip.opendns.com has address 202.91.87.117
Host myip.opendns.com not found: 3(NXDOMAIN)
Host myip.opendns.com not found: 3(NXDOMAIN)
以上就是本次分享全部内容。