当前位置:首页 > Linux > 正文

linux如何获取ip

Linux中,可通过 ip addr或 ifconfig

Linux系统中,获取IP地址是一个常见的任务,无论是为了网络配置、故障排除还是其他目的,以下是几种在Linux中获取IP地址的方法,包括命令行工具和图形界面方法。

使用 ifconfig 命令

ifconfig 是一个传统的网络配置命令,虽然在一些现代Linux发行版中已经被弃用,但在许多系统上仍然可用。

示例命令:

ifconfig

输出示例:

eth0 Link encap:Ethernet HWaddr 00:0c:29:68:af:cd inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe68:afcd/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2395677 errors:0 dropped:0 overruns:0 frame:0 TX packets:1435678 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:143567845 (143.5 MB) TX bytes:239567745 (239.5 MB)

在这个输出中,inet addr:192.168.1.100 就是IPv4地址。

使用 ip 命令

ip 命令是 ifconfig 的现代替代品,功能更强大且更灵活。

示例命令:

ip addr show

输出示例:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:68:af:cd brd ff:ff:ff:ff:ff:ff inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe68:afcd/64 scope link valid_lft forever preferred_lft forever

在这个输出中,inet 192.168.1.100/24 就是IPv4地址。

使用 hostname 命令

hostname 命令可以显示系统的主机名和IP地址。

示例命令:

hostname -I

输出示例:

168.1.100

这个命令直接返回IP地址,没有多余的信息。

linux如何获取ip 第1张

使用 nmcli 命令

nmcli 是NetworkManager的命令行工具,用于管理网络连接。

示例命令:

nmcli device show | grep 'IP4.ADDRESS'

输出示例:

IP4.ADDRESS[1]: 192.168.1.100

这个命令会显示所有网络设备的IPv4地址。

使用 curl 或 wget 命令

如果你需要从外部获取IP地址(即公网IP),可以使用 curl 或 wget 命令。

示例命令:

curl ifconfig.me

或者:

wget -qOifconfig.me

输出示例:

51.100.123

这个命令会返回你的公网IP地址。

linux如何获取ip 第2张

使用 dig 命令

dig 命令可以用来查询DNS记录,包括反向DNS查找,从而获取IP地址。

示例命令:

dig +short myip.opendns.com @resolver1.opendns.com

输出示例:

51.100.123

这个命令会返回你的公网IP地址。

使用图形界面工具

如果你使用的是带有图形界面的Linux发行版,可以通过网络设置工具查看IP地址。

步骤:

  1. 打开“设置”或“系统设置”。
  2. 进入“网络”或“网络连接”部分。
  3. 选择当前使用的网络接口(如 eth0 或 wlan0)。
  4. 查看详细信息,通常会显示IP地址。

使用脚本自动获取IP地址

你可以编写一个简单的Shell脚本来自动获取并显示IP地址。

示例脚本:

#!/bin/bash # Get IP address of all interfaces echo "IP Addresses:" ip addr show | grep 'inet ' | awk '{print $2}' | cut -d/ -f1

使用方法:

  1. 将上述脚本保存为 get_ip.sh。
  2. 赋予执行权限:chmod +x get_ip.sh。
  3. 运行脚本:./get_ip.sh。

使用 ipcalc 工具

ipcalc 是一个用于计算和显示IP地址信息的工具,可以帮助你更好地理解IP地址和子网掩码的关系。

linux如何获取ip 第3张

安装 ipcalc:

sudo apt-get install ipcalc # Debian/Ubuntu sudo yum install ipcalc # CentOS/RHEL

示例命令:

ipcalc 192.168.1.100/24

输出示例:

Address: 192.168.1.100 11000000.10101000.00000001.01100100 Netmask: 255.255.255.0 = /24 11111111.11111111.11111111.00000000 Wildcard: 0.0.0.255 00000000.00000000.00000000.11111111 => Network: 192.168.1.0/24 11000000.10101000.00000001.00000000 Broadcast: 192.168.1.255 11000000.10101000.00000001.11111111 HostMin: 192.168.1.1 11000000.10101000.00000001.00000001 HostMax: 192.168.1.254 11000000.10101000.00000001.11111110 Hosts/Net: 254 Class C, Private Internet

使用 arp 命令

arp 命令可以显示ARP缓存表,其中包含本地网络中设备的IP地址和MAC地址。

示例命令:

arp -a

输出示例:

? (192.168.1.1) at 00:16:3e:48:3a:ca [ether] on eth0 ? (192.168.1.100) at 00:0c:29:68:af:cd [ether] on eth0

在这个输出中,168.1.100 就是本地主机的IP地址。

在Linux系统中,获取IP地址的方法多种多样,从简单的命令行工具到图形界面工具,再到脚本和第三方工具,都可以满足不同的需求,以下是一些常用方法的归纳:

方法 命令/工具 适用场景
ifconfig ifconfig 传统方法,显示详细网络信息
ip ip addr show 现代方法,功能强大
hostname hostname -I 快速获取IP地址
nmcli nmcli device show NetworkManager用户
curl/wget curl ifconfig.me 获取公网IP地址
dig dig +short myip.opendns.com @resolver1.opendns.com 获取公网IP地址
图形界面 系统设置 桌面用户
脚本 自定义脚本 自动化任务
ipcalc ipcalc IP地址和子网掩码计算
arp arp -a 查看本地网络设备

相关问答FAQs

Q1: 如何在Linux中获取公网IP地址?

A1: 你可以使用 curl 或 wget 命令来获取公网IP地址。

curl ifconfig.me

或者:

wget -qOifconfig.me

这些命令会返回你的公网IP地址。

Q2: ifconfig 和 ip 命令有什么区别?

A2: ifconfig 是一个传统的网络配置命令,虽然功能强大,但在某些现代Linux发行版中已经被弃用。ip 命令是 ifconfig 的现代替代品,功能更强大且更灵活,支持更多的网络操作和配置选项。

0