如何以不同方式获取Linux IP地址
时间:2020-03-05 15:28:23 来源:igfitidea点击:
我们知道在Linux系统上获取IP地址有多少命令?
在本文中,我们将讨论一些方法来获取Linux上的IP地址以及公共IP。
1)Ifconfig命令
IFConfig对于接口配置很短。
它是一种广泛使用的命令行工具,用于配置和查看IP地址,并启用/禁用网络接口。
注意:不推荐使用ifconfig命令,尝试使用ip命令。
ifconfig/ifconfig -a
IFConfig没有参数将显示所有活动接口的统计信息。这与运行ifconfig -a相同
例子
ifconfig
输出
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether a0:2b:b8:22:0c:6b txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> 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 28212 bytes 8319418 (7.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 28212 bytes 8319418 (7.9 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.43.156 netmask 255.255.255.0 broadcast 192.168.43.255 inet6 fe80::9ed2:1eff:fe31:3fb9 prefixlen 64 scopeid 0x20 ether 9c:d2:1e:31:3f:b9 txqueuelen 1000 (Ethernet) RX packets 88974 bytes 98475476 (93.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 59034 bytes 7601548 (7.2 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ifconfig {interface name}
要获取特定网络接口的IP地址,请运行ifconfig后跟接口名称
例子
ifconfig eth0
输出
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.43.156 netmask 255.255.255.0 broadcast 192.168.43.255 inet6 fe80::9ed2:1eff:fe31:3fb9 prefixlen 64 scopeid 0x20 ether 9c:d2:1e:31:3f:b9 txqueuelen 1000 (Ethernet) RX packets 92374 bytes 98997644 (94.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 62046 bytes 8082927 (7.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2)IP ADDR
ip addr是另一个命令,可以使用系统和其他接口统计信息
例子
ip addr
输出
1: lo: <LOOPBACK,UP,LOWER_UP> 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: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 link/ether a0:2b:b8:22:0c:6b brd ff:ff:ff:ff:ff:ff 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 9c:d2:1e:31:3f:b9 brd ff:ff:ff:ff:ff:ff inet 192.168.43.156/24 brd 192.168.43.255 scope global dynamic noprefixroute wlan0 valid_lft 3489sec preferred_lft 3489sec inet6 fe80::9ed2:1eff:fe31:3fb9/64 scope link noprefixroute valid_lft forever preferred_lft forever
3)hostname -i命令
要获取活动网络连接的IP地址,请运行
hostname -I
输出
192.168.43.156
4)NMCLI命令
nmcli网络管理器命令行界面是用于创建,编辑,显示,删除,激活和取消激活连接的命令行工具。
nmcli.
例子
nmcli
输出
wlan0: connected to TECNO Camon CX "Realtek RTL8188EE" wifi (rtl8188ee), 9C:D2:1E:31:3F:B9, hw, mtu 1500 ip4 default inet4 192.168.43.156/24 route4 0.0.0.0/0 route4 192.168.43.0/24 inet6 fe80::9ed2:1eff:fe31:3fb9/64 route6 fe80::/64 route6 ff00::/8 eth0: unavailable "Realtek RTL810xE" ethernet (r8169), A0:2B:B8:22:0C:6B, hw, mtu 1500 lo: unmanaged "lo" loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536 DNS configuration: servers: 192.168.43.1 interface: wlan0 Use "nmcli device show" to get complete information about known devices and "nmcli connection show" to get an overview on active connection profiles.
NMCLI设备显示
获取IP地址甚至更详细的统计信息,运行
nmcli device show
输出
GENERAL.DEVICE: wlan0 GENERAL.TYPE: wifi GENERAL.HWADDR: 9C:D2:1E:31:3F:B9 GENERAL.MTU: 1500 GENERAL.STATE: 100 (connected) GENERAL.CONNECTION: TECNO Camon CX GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1 IP4.ADDRESS[1]: 192.168.43.156/24 IP4.GATEWAY: 192.168.43.1 IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 192.168.43.1, mt = 600 IP4.ROUTE[2]: dst = 192.168.43.0/24, nh = 0.0.0.0, mt = 600 IP4.DNS[1]: 192.168.43.1 IP6.ADDRESS[1]: fe80::9ed2:1eff:fe31:3fb9/64 IP6.GATEWAY: - IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 600 IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255 GENERAL.DEVICE: eth0 GENERAL.TYPE: ethernet GENERAL.HWADDR: A0:2B:B8:22:0C:6B GENERAL.MTU: 1500 -
5)IP路线获得1.2.3.4 | awk'{打印$7}'
这是另一个可用于在没有太多统计数据的IP地址的另一个命令
ip route get 1.2.3.4 | awk '{print }'
输出
192.168.43.156
6)图形用户界面中的网络设置
如果在图形环境中运行Linux,则可以轻松导航到网络设置并查看IP地址。
在此示例中,我们已经使用Ubuntu 18.04 GNOME接口演示了这一点。
- 单击"如图所示的网络"图标。
- 在出现的下拉菜单上,请务必查找连接的网络接口。在这种情况下,它是有线连接,我们可以看到接口由"有线连接"状态为Up。点击它。
- 接下来,单击下面显示的"有线设置"选项
- 这显示了"网络设置"窗口。单击ON/OFF切换旁边的齿轮图标,将显示弹出窗口显示连接的网络接口的IP详细信息。
显示Linux系统的公共IP地址
如果我们希望获取Linux系统的公共IP,则以下命令派上友好
curl ipinfo.io/ip curl ifconfig.me curl bot.whatismyipaddress.com dig +short myip.opendns.com @resolver1.opendns.com curl checkip.dyndns.org curl ident.me host myip.opendns.com resolver1.opendns.com curl ipecho.net/plain