查看Linux查看IP地址不要只会ifconfig,这几个命令也可以!

网络东西不好懂 2024-07-24 03:33:00

ifconfig命令

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

ifconfig

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

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

比如输出是这样的:

eth0 Link encap:Ethernet HWaddr 00:0c:29:68:8d:60 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe68:8d60/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 00:0c:29:68:8d:60: 硬件地址(MAC地址)。inet addr:192.168.1.100: IPv4地址。Bcast:192.168.1.255: 广播地址。Mask:255.255.255.0: 子网掩码。inet6 addr: fe80::20c:29ff:fe68:8d60/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

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

比如输出的是:

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

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

1: lo: 回环接口。<LOOPBACK,UP,LOWER_UP>: 接口状态。mtu 65536: 最大传输单元。link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00: 链路层信息。inet 127.0.0.1/8 scope host lo: IPv4地址及子网掩码。inet6 ::1/128 scope host: IPv6地址。2: eth0: 以太网接口。<BROADCAST,MULTICAST,UP,LOWER_UP>: 接口状态。mtu 1500: 最大传输单元。link/ether 00:0c:29:68:8d:60 brd ff:ff:ff:ff:ff:ff: 链路层信息。inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0: IPv4地址及子网掩码。inet6 fe80::20c:29ff:fe68:8d60/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

添加默认路由:sudo ip route add default via 192.168.1.1配置VLAN:sudo ip link add link eth0 name eth0.100 type vlan id 100sudo ip link set dev eth0.100 upsudo ip addr add 192.168.100.1/24 dev eth0.100显示接口统计信息:ip -s link

hostname命令

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

hostname

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

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

hostname -I

此命令将返回系统所有网络接口的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

查看短主机名:hostname -s

查看域名:hostname -d查看IP地址(IPv4和IPv6):hostname -Inmcli命令

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

nmcli device show

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

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

比如输出是:

GENERAL.DEVICE: eth0GENERAL.TYPE: ethernetGENERAL.HWADDR: 00:0c:29:68:8d:60GENERAL.MTU: 1500GENERAL.STATE: 100 (connected)GENERAL.CONNECTION: Wired connection 1GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1IP4.ADDRESS[1]: 192.168.1.100/24IP4.GATEWAY: 192.168.1.1IP4.DNS[1]: 192.168.1.1IP6.ADDRESS[1]: fe80::20c:29ff:fe68:8d60/64IP6.GATEWAY: --GENERAL.DEVICE: loGENERAL.TYPE: loopbackGENERAL.HWADDR: 00:00:00:00:00:00GENERAL.MTU: 65536GENERAL.STATE: 10 (unmanaged)GENERAL.CONNECTION: --GENERAL.CON-PATH: --IP4.ADDRESS[1]: 127.0.0.1/8IP6.ADDRESS[1]: ::1/128

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

GENERAL.DEVICE: eth0: 以太网接口。GENERAL.TYPE: ethernet: 接口类型。GENERAL.HWADDR: 00:0c:29:68:8d: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::20c:29ff:fe68:8d60/64: IPv6地址。GENERAL.DEVICE: lo: 本地回环接口。GENERAL.TYPE: loopback: 接口类型。GENERAL.HWADDR: 00:00:00:00:00: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

激活连接: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 manualnmcli connection up id "Wired connection 1"删除连接:nmcli connection delete id "Wired connection 1"显示设备状态:nmcli device status

显示设备详细信息:nmcli device show eno2

重新加载NetworkManager配置:sudo nmcli general reloadss命令

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

ss -tuln

该命令将显示所有监听的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

显示所有TCP套接字:ss -t

显示所有UDP套接字:ss -u

显示所有监听的套接字:ss -l

显示所有连接状态的套接字:ss -s

显示详细信息:ss -e

显示进程信息:ss -p

过滤指定端口: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

0 阅读:0

网络东西不好懂

简介:感谢大家的关注