在Linux中查看IP地址的方法

描述

转载请注明以下内容:

来源:公众号【网络技术干货圈】

作者:圈圈

ID:wljsghq

 

ifconfig命令

ifconfig是一个网络管理工具,用于配置、控制和查询网络接口。在许多旧的Linux发行版中,ifconfig是查看和配置网络接口的主要工具。要查看IP地址,只需在终端中输入以下命令:

 

ifconfig
Linux

 

这将显示系统中所有网络接口的详细信息,包括IP地址、子网掩码和MAC地址。

ifconfig命令的输出包含多个字段,每个字段提供不同的网络信息。

比如输出是这样的:

 

eth0      Link encap:Ethernet  HWaddr 00298d:60  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80:29ff8d60/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24890 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15457 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:36589294 (34.8 MiB)  TX bytes:2070249 (1.9 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

 

在这个输出中,我们可以看到两个网络接口:eth0和lo。

eth0: 这是一个以太网接口。

Link encap:Ethernet: 链路封装类型,以太网。

HWaddr 00298d:60: 硬件地址(MAC地址)。

inet addr:192.168.1.100: IPv4地址。

Bcast:192.168.1.255: 广播地址。

Mask:255.255.255.0: 子网掩码。

inet6 addr: fe80:29ff8d60/64 Scope:Link: IPv6地址。

UP BROADCAST RUNNING MULTICAST: 接口状态。

MTU:1500: 最大传输单元。

RX packets:24890: 接收到的数据包数量。

TX packets:15457: 发送的数据包数量。

RX bytes:36589294 (34.8 MiB): 接收到的字节数。

TX bytes:2070249 (1.9 MiB): 发送的字节数。

lo: 这是一个本地回环接口。

inet addr:127.0.0.1: IPv4地址。

Mask:255.0.0.0: 子网掩码。

inet6 addr: ::1/128 Scope:Host: IPv6地址。

UP LOOPBACK RUNNING: 接口状态。

MTU:65536: 最大传输单元。

RX packets:8: 接收到的数据包数量。

TX packets:8: 发送的数据包数量。

RX bytes:560 (560.0 B): 接收到的字节数。

TX bytes:560 (560.0 B): 发送的字节数。

ip命令

ip命令是iproute2软件包的一部分,它提供了更强大和灵活的网络管理功能。与ifconfig相比,ip命令支持更多的网络配置选项,并且更适合现代Linux系统。要查看IP地址,使用以下命令:

 

ip addr show
Linux

 

ip命令的输出信息丰富,包括IPv4和IPv6地址、子网掩码、MAC地址等。

比如输出的是:

 

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 000000:00 brd 000000: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:  mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00298d:60 brd ffffff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 86392sec preferred_lft 86392sec
    inet6 fe80:29ff8d60/64 scope link
       valid_lft forever preferred_lft forever

 

在这个输出中,我们可以看到两个网络接口:lo和eth0。

1: lo: 回环接口。

: 接口状态。

mtu 65536: 最大传输单元。

link/loopback 000000:00 brd 000000:00: 链路层信息。

inet 127.0.0.1/8 scope host lo: IPv4地址及子网掩码。

inet6 ::1/128 scope host: IPv6地址。

2: eth0: 以太网接口。

: 接口状态。

mtu 1500: 最大传输单元。

link/ether 00298d:60 brd ffffff:ff: 链路层信息。

inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0: IPv4地址及子网掩码。

inet6 fe80:29ff8d60/64 scope link: IPv6地址。

除了查看IP地址,ip命令还可以用于配置网络接口、管理路由、配置隧道等。以下是一些高级用法示例:

配置IP地址:

 

sudo ip addr add 192.168.1.200/24 dev eth0

 

删除IP地址:

 

sudo ip addr del 192.168.1.200/24 dev eth0

 

显示路由表:

 

ip route show
Linux

 

添加默认路由:

 

sudo ip route add default via 192.168.1.1

 

配置VLAN:

 

sudo ip link add link eth0 name eth0.100 type vlan id 100
sudo ip link set dev eth0.100 up
sudo ip addr add 192.168.100.1/24 dev eth0.100

 

显示接口统计信息:

 

ip -s link
Linux

 

hostname命令

hostname命令主要用于显示或设置系统的主机名。然而,通过一些选项,hostname命令也可以用于查看系统的IP地址。要查看主机名,只需在终端中输入以下命令:

 

hostname
Linux

 

这将显示当前系统的主机名。

要查看系统的IP地址,使用以下命令:

 

hostname -I
Linux

 

此命令将返回系统所有网络接口的IP地址(不包括回环接口)。

hostname -I命令的输出非常简洁,通常只显示IP地址,适用于需要快速获取IP地址的场景。以下是一个典型的hostname -I输出示例:

 

192.168.3.110 172.17.0.1

 

在这个示例中,系统有两个网络接口,一个接口的IP地址是192.168.3.110,另一个接口的IP地址是172.17.0.1。

除了查看IP地址,hostname命令还可以用于设置和查看其他网络相关信息。

以下是一些高级用法示例:

设置主机名

 

sudo hostname new-hostname

 

查看完整域名

 

hostname -f
Linux

 

查看短主机名

 

hostname -s
Linux

 

查看域名

 

hostname -d

 

查看IP地址(IPv4和IPv6):

 

hostname -I

 

nmcli命令

nmcli命令是NetworkManager的命令行接口,用于管理网络连接和设备。要查看系统的IP地址,可以使用以下命令:

 

nmcli device show
Linux

 

该命令将显示系统中所有网络接口的详细信息,包括IP地址、MAC地址、子网掩码等。

nmcli device show命令的输出信息非常详细,涵盖了所有网络接口的配置。

比如输出是:

 

GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00298d:60
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     Wired connection 1
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
IP4.ADDRESS[1]:                         192.168.1.100/24
IP4.GATEWAY:                            192.168.1.1
IP4.DNS[1]:                             192.168.1.1
IP6.ADDRESS[1]:                         fe80:29ff8d60/64
IP6.GATEWAY:                            --

GENERAL.DEVICE:                         lo
GENERAL.TYPE:                           loopback
GENERAL.HWADDR:                         000000:00
GENERAL.MTU:                            65536
GENERAL.STATE:                          10 (unmanaged)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
IP4.ADDRESS[1]:                         127.0.0.1/8
IP6.ADDRESS[1]:                         ::1/128

 

在这个输出中,我们可以看到两个网络接口:eth0和lo。

GENERAL.DEVICE: eth0: 以太网接口。

GENERAL.TYPE: ethernet: 接口类型。

GENERAL.HWADDR: 00298d:60: 硬件地址(MAC地址)。

GENERAL.MTU: 1500: 最大传输单元。

GENERAL.STATE: 100 (connected): 接口状态。

GENERAL.CONNECTION: Wired connection 1: 连接名称。

IP4.ADDRESS[1]: 192.168.1.100/24: IPv4地址及子网掩码。

IP4.GATEWAY: 192.168.1.1: 网关。

IP4.DNS[1]: 192.168.1.1: DNS服务器。

IP6.ADDRESS[1]: fe80:29ff8d60/64: IPv6地址。

GENERAL.DEVICE: lo: 本地回环接口。

GENERAL.TYPE: loopback: 接口类型。

GENERAL.HWADDR: 000000:00: 硬件地址(MAC地址)。

GENERAL.MTU: 65536: 最大传输单元。

GENERAL.STATE: 10 (unmanaged): 接口状态。

IP4.ADDRESS[1]: 127.0.0.1/8: IPv4地址及子网掩码。

IP6.ADDRESS[1]: ::1/128: IPv6地址。

除了查看IP地址,nmcli命令还可以用于配置网络连接、管理设备等。

以下是一些高级用法示例:

查看所有连接

 

nmcli connection show
Linux

 

激活连接

 

nmcli connection up id "Wired connection 1"

 

禁用连接

 

nmcli connection down id "Wired connection 1"

 

添加新的静态IP地址

 

nmcli connection modify "Wired connection 1" ipv4.addresses "192.168.1.200/24"
nmcli connection modify "Wired connection 1" ipv4.gateway "192.168.1.1"
nmcli connection modify "Wired connection 1" ipv4.dns "8.8.8.8,8.8.4.4"
nmcli connection modify "Wired connection 1" ipv4.method manual
nmcli connection up id "Wired connection 1"

 

删除连接

 

nmcli connection delete id "Wired connection 1"

 

显示设备状态

 

nmcli device status
Linux

 

显示设备详细信息

 

nmcli device show eno2
Linux

 

重新加载NetworkManager配置

 

sudo nmcli general reload

 

ss命令

ss命令是一个功能强大的工具,用于显示有关网络套接字的信息。它是netstat命令的现代替代品,性能更高且功能更强大。要查看系统的所有网络连接,包括IP地址,可以使用以下命令:

 

ss -tuln
Linux

 

该命令将显示所有监听的TCP和UDP端口及其对应的IP地址。

ss -tuln命令的输出信息包括协议、接收队列、发送队列、本地地址、远程地址和状态等。

在这个输出中,每一行表示一个监听的端口及其相关信息。

Netid: 套接字类型(如TCP或UDP)。

State: 套接字状态(如LISTEN或UNCONN)。

Recv-Q: 接收队列长度。

Send-Q: 发送队列长度。

Local Address:Port: 本地地址和端口。

Peer Address:Port: 远程地址和端口。

除了查看监听端口和IP地址,ss命令还可以用于显示各种类型的网络连接、统计信息和套接字详细信息。

以下是一些高级用法示例:

显示所有套接字

 

ss -a
Linux

 

显示所有TCP套接字

 

ss -t
Linux

 

显示所有UDP套接字

 

ss -u
Linux

 

显示所有监听的套接字

 

ss -l
Linux

 

显示所有连接状态的套接字

 

ss -s
Linux

 

显示详细信息

 

ss -e
Linux

 

显示进程信息

 

ss -p
Linux

 

过滤指定端口

 

ss -at '( dport = :22 or sport = :22 )'

 

过滤指定IP地址

 

ss -at '( dst = 192.168.1.100 )'

 

ip a命令

ip a命令是ip addr命令的缩写,用于显示所有网络接口的详细信息,包括IP地址、子网掩码、广播地址和接口状态等。要查看系统的IP地址,只需在终端中输入以下命令:

 

ip a
Linux

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分