如何获取linux的ip地址

Linux系统中,可以通过命令ifconfigip addr获取IP地址,使用ifconfig会显示网络配置详情,而ip addr提供更详细的网络状态信息。

Linux系统的IP地址有多种方法,以下是几种常见且详细的方式:

如何获取linux的ip地址

使用ifconfig命令

ifconfig是一个传统的网络配置命令,虽然在一些新的Linux发行版中已经被标记为过时,但在许多系统上仍然可用。

步骤:

  1. 打开终端。
  2. 输入命令:ifconfig
  3. 按下回车键。

示例输出:

eth0      Link encap:Ethernet  HWaddr 00:0c:29:68:22:1d  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe68:221d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25727 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14353 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:15345678 (15.3 MB)  TX bytes:1234567 (1.2 MB)

解释:

  • inet addr:192.168.1.100 是IPv4地址。
  • inet6 addr: fe80::20c:29ff:fe68:221d/64 是IPv6地址。

使用ip命令

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

步骤:

  1. 打开终端。
  2. 输入命令:ip addr show 或简写 ip a
  3. 按下回车键。

示例输出:

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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:68:22:1d brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 86400sec preferred_lft 86400sec
    inet6 fe80::20c:29ff:fe68:221d/64 scope link 
       valid_lft forever preferred_lft forever

解释:

  • inet 192.168.1.100/24 是IPv4地址及其子网掩码。
  • inet6 fe80::20c:29ff:fe68:221d/64 是IPv6地址及其前缀长度。

使用hostname命令

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

步骤:

  1. 打开终端。
  2. 输入命令:hostname -I
  3. 按下回车键。

示例输出:

168.1.100

解释:

  • 该命令仅显示IPv4地址,不包括IPv6地址。

使用nmcli命令

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

步骤:

  1. 打开终端。
  2. 输入命令:nmcli device show
  3. 按下回车键。

示例输出:

DEVICE  TYPE      STATE      CONNECTION 
eth0    ethernet  connected  Wired connection 1 
lo      loopback  unmanaged  -           

解释:

  • eth0 是网络接口名称。
  • connected 表示接口已连接。
  • Wired connection 1 是连接名称。

使用图形界面(GNOME为例)

在桌面环境中,可以通过图形界面查看IP地址。

如何获取linux的ip地址

步骤:

  1. 打开“设置”应用。
  2. 选择“网络”或“Wi-Fi”选项。
  3. 点击当前连接的网络。
  4. 查看“IP地址”信息。

解释:

  • 图形界面提供了直观的方式来查看和管理网络设置。

使用curlwget命令获取公网IP

有时需要获取Linux系统的公网IP地址,可以使用curlwget命令。

使用curl命令:

  1. 打开终端。
  2. 输入命令:curl ifconfig.me
  3. 按下回车键。

示例输出:

168.1.100

使用wget命令:

  1. 打开终端。
  2. 输入命令:wget -qOifconfig.me
  3. 按下回车键。

示例输出:

168.1.100

解释:

  • ifconfig.me 是一个提供公网IP地址查询服务的网站。
  • curlwget 命令都可以用于获取该信息。

使用iptables查看NAT规则中的IP地址

在某些情况下,可能需要通过iptables查看NAT规则中的IP地址。

步骤:

  1. 打开终端。
  2. 输入命令:sudo iptables -t nat -L -n -v
  3. 按下回车键。

示例输出:

Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    MASQUERADE  all  - 0.0.0.0/0            0.0.0.0/0            masquerade match-any 

解释:

  • MASQUERADE 表示NAT地址转换规则。
  • sourcedestination 字段显示了相关的IP地址信息。

使用脚本自动获取IP地址

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

示例脚本:

#!/bin/bash
# 获取IPv4地址
ipv4=$(hostname -I | awk '{print $1}')
echo "IPv4 Address: $ipv4"
# 获取IPv6地址
ipv6=$(hostname -I | awk '{print $2}')
echo "IPv6 Address: $ipv6"

保存并运行脚本:

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

示例输出:

IPv4 Address: 192.168.1.100
IPv6 Address: fe80::20c:29ff:fe68:221d

解释:

如何获取linux的ip地址

  • 脚本使用hostname -I命令获取所有IP地址,并通过awk提取IPv4和IPv6地址。

使用arp命令查看ARP表

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

步骤:

  1. 打开终端。
  2. 输入命令:arp -a
  3. 按下回车键。

示例输出:

? (192.168.1.1) at 00:16:3e:48:9c:2b [ether] on eth0
? (192.168.1.100) at 00:0c:29:68:22:1d [ether] on eth0

解释:

  • 表示动态条目。
  • (192.168.1.1) 是IP地址。
  • at 00:16:3e:48:9c:2b 是对应的MAC地址。
  • [ether] 表示接口类型为以太网。
  • on eth0 表示接口名称。

使用route命令查看路由表

route命令可以显示系统的路由表,其中包含默认网关的IP地址。

步骤:

  1. 打开终端。
  2. 输入命令:route -n
  3. 按下回车键。

示例输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1    0.0.0.0         UG    100    0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

解释:

  • Destination 表示目标网络。
  • Gateway 表示下一跳网关。
  • Genmask 表示网络掩码。
  • Flags 表示路由标志。
  • Metric 表示路由优先级。
  • Ref 表示引用计数。
  • Use 表示使用次数。
  • Iface 表示接口名称。

归纳表格

方法 命令/步骤 IPv4地址示例 IPv6地址示例
ifconfig ifconfig 168.1.100 fe80::20c:29ff:fe68:221d
ip ip addr show 168.1.100 fe80::20c:29ff:fe68:221d
hostname hostname -I 168.1.100 N/A
nmcli nmcli device show N/A N/A
图形界面 打开“设置” -> “网络” -> 查看当前连接 168.1.100 N/A
curl/wget curl ifconfig.mewget -qOifconfig.me 168.1.100 N/A
iptables sudo iptables -t nat -L -n -v N/A N/A
脚本 get_ip.sh 168.1.100 fe80::20c:29ff:fe68:221d
arp arp -a N/A N/A
route route -n N/A N/A

相关问答FAQs

Q1: 如何在Linux中查看所有网络接口的IP地址?

A1: 可以使用ip addr show或简写ip a命令来查看所有网络接口的IP地址,该命令会列出所有接口的详细信息,包括IPv4和IPv6地址、子网掩码等。

ip addr show

这将显示类似以下的输出:

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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:68:22:1d brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 86400sec preferred_lft 86400sec
    inet6 fe80::20c:29ff:fe68:221d/64 scope link 
       valid_lft forever preferred_lft forever

通过这种方式,你可以查看系统中所有网络接口的IP地址信息。

Q2: 如果我想查看Linux系统的公网IP地址,应该怎么做?

A2: 要查看Linux系统的公网IP地址,可以使用curlwget命令访问提供公网IP查询服务的网站,如ifconfig.me,以下是两种常用的方法:

使用curl命令:

curl ifconfig.me

这将返回你的公网IP地址,

168.1.100

使用wget命令:

wget -qOifconfig.me

同样,这将输出你的公网IP地址,


192.

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/83959.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月30日 10:42
下一篇 2025年7月30日 10:47

相关推荐

  • Linux如何配置DHCP服务器?

    安装dhcpd或isc-dhcp-server软件包,编辑/etc/dhcp/dhcpd.conf配置文件定义子网、地址池和租期,启动dhcpd服务并设置开机自启,最后通过防火墙放行DHCP端口即可提供IP自动分配服务。

    2025年7月3日
    000
  • Linux运行sh文件的最简方法?

    在Linux终端中运行sh文件有两种常用方法:1. 使用命令 sh 文件名.sh 直接执行;2. 先通过 chmod +x 文件名.sh 赋予执行权限,再用 ./文件名.sh 运行,确保文件路径正确即可。

    2025年6月16日
    100
  • Linux如何查看用户命令?

    Linux系统显示用户账号主要有三种方法: ,1. 使用 whoami 命令查看当前登录用户名。 ,2. 使用 id 命令查看当前用户的 UID 和所属组信息。 ,3. 查看 /etc/passwd 文件(如 cat /etc/passwd)获取系统所有用户账号的完整列表。

    2025年6月26日
    000
  • Linux怎么用vim?快速掌握指南

    在Linux终端输入vim 文件名启动vim,按i进入编辑模式编写内容,按ESC退回普通模式,输入:wq保存退出,:q!强制放弃修改退出。

    2025年6月2日
    400
  • Linux怎样制作U盘系统安装盘?

    在Linux中制作系统安装盘:首先获取所需Linux发行版的ISO镜像文件,然后使用dd命令行工具或图形化工具(如Etcher、Ventoy)将ISO文件完整写入U盘即可,完成后U盘即可用于启动安装系统。

    2025年6月24日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN