导读 | 几年前,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 -I192.168.0.106
大多数 Linux 发行版都有一个 Network Manager 的工具,该工具有一个名为 nmcli 的命令行界面,可以使用此 nmcli 工具来查看网络配置。比如可以使用如下命令查看 IP 地址:
nmcli
实际上,我们仍然可以使用 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)
以上就是本次分享全部内容。
原文来自:
本文地址://gulass.cn/linux-find-ip.html编辑:roc_guo,审核员:逄增宝
Linux命令大全:
Linux系统大全: