linux下查找网口_如何在 Linux 中查看可用的网络接口

在我们安装完一个 Linux 系统后最为常见的任务便是网络配置了。当然,你可以在安装系统时进行网络接口的配置。但是,对于某些人来说,他们更偏爱在安装完系统后再进行网络的配置或者更改现存的设置。众所周知,为了在命令行中进行网络设定的配置,我们首先必须知道系统中有多少个可用的网络接口。本次这个简单的指南将列出所有可能的方式来在 Linux 和 Unix 操作系统中找到可用的网络接口。

在 Linux 中找到可用的网络接口

我们可以使用下面的这些方法来找到可用的网络接口。

方法 1 使用 ifconfig 命令

使用 ifconfig 命令来查看网络接口仍然是最常使用的方法。我相信还有很多 Linux 用户仍然使用这个方法。

$ ifconfig -a

示例输出:

enp5s0: flags=4098 mtu 1500

ether 24:b6:fd:37:8b:29 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 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 171420 bytes 303980988 (289.8 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 171420 bytes 303980988 (289.8 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlp9s0: flags=4163 mtu 1500

inet 192.168.225.37 netmask 255.255.255.0 broadcast 192.168.225.255

inet6 2409:4072:6183:c604:c218:85ff:fe50:474f prefixlen 64 scopeid 0x0

inet6 fe80::c218:85ff:fe50:474f prefixlen 64 scopeid 0x20

ether c0:18:85:50:47:4f txqueuelen 1000 (Ethernet)

RX packets 564574 bytes 628671925 (599.5 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 299706 bytes 60535732 (57.7 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

如上面的输出所示,在我的 Linux 机器上有两个网络接口,它们分别叫做 enp5s0(主板上的有线网卡)和 wlp9s0(无线网卡)。其中的 lo 是环回网卡,被用来访问本地的网络的服务,通常它的 IP 地址为 127.0.0.1。

我们也可以在许多 UNIX 变种例如 FreeBSD 中使用相同的 ifconfig 来列出可用的网卡。

方法 2 使用 ip 命令

在最新的 Linux 版本中, ifconfig 命令已经被弃用了。你可以使用 ip 命令来罗列出网络接口,正如下面这样:

$ ip link show

示例输出:

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: enp5s0: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000

link/ether 24:b6:fd:37:8b:29 brd ff:ff:ff:ff:ff:ff

3: wlp9s0: mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000

link/ether c0:18:85:50:47:4f brd ff:ff:ff:ff:ff:ff

你也可以使用下面的命令来查看。

$ ip addr

$ ip -s link

你注意到了吗?这些命令同时还显示出了已经连接的网络接口的状态。假如你仔细查看上面的输出,你将注意到我的有线网卡并没有跟网络线缆连接(从上面输出中的 DOWN 可以看出)。另外,我的无线网卡已经连接了(从上面输出中的 UP 可以看出)。想知晓更多的细节,可以查看我们先前的指南 在 Linux 中查看网络接口的已连接状态。

这两个命令(ifconfig 和 ip)已经足够在你的 LInux 系统中查看可用的网卡了。

然而,仍然有其他方法来列出 Linux 中的网络接口,下面我们接着看。

方法 3 使用 /sys/class/net 目录

Linux 内核将网络接口的详细信息保存在 /sys/class/net 目录中,你可以通过查看这个目录的内容来检验可用接口的列表是否和前面的结果相符。

$ ls /sys/class/net

示例输出:

enp5s0 lo wlp9s0

方法 4 使用 /proc/net/dev 目录

在 Linux 操作系统中,文件 /proc/net/dev 中包含有关网络接口的信息。

要查看可用的网卡,只需使用下面的命令来查看上面文件的内容:

$ cat /proc/net/dev

示例输出:

Inter-| Receive | Transmit

face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed

wlp9s0: 629189631 566078 0 0 0 0 0 0 60822472 300922 0 0 0 0 0 0

enp5s0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

lo: 303980988 171420 0 0 0 0 0 0 303980988 171420 0 0 0 0 0 0

方法 5 使用 netstat 命令

netstat 命令可以列出各种不同的信息,例如网络连接、路由表、接口统计信息、伪装连接和多播成员等。

$ netstat -i

示例输出:

Kernel Interface table

Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

lo 65536 171420 0 0 0 171420 0 0 0 LRU

wlp9s0 1500 565625 0 0 0 300543 0 0 0 BMRU

请注意 netstat 被弃用了, netstat -i 的替代命令是 ip -s link。另外需要注意的是这个方法将只列出激活的接口,而不是所有可用的接口。

方法 6 使用 nmcli 命令

nmcli 是一个用来控制 NetworkManager 和报告网络状态的命令行工具。它可以被用来创建、展示、编辑、删除、激活、停用网络连接和展示网络状态。

假如你的 Linux 系统中安装了 NetworkManager,你便可以使用下面的命令来使用 nmcli 列出可以的网络接口:

$ nmcli device status

或者

$ nmcli connection show

现在你知道了如何在 Linux 中找到可用网络接口的方法,接下来,请查看下面的指南来知晓如何在 Linux 中配置 IP 地址吧。

假如你知道其他快捷的方法来在 Linux 中找到可用的网络接口,请在下面的评论部分中分享出来,我将检查你们的评论并更新这篇指南。

这就是全部的内容了,更多精彩内容即将呈现,请保持关注!

干杯!

本文由 LCTT 原创编译,Linux中国 荣誉推出

Linux系统下查看网络接口是否已经启动,通常有几种方法可以做到这一点: ### 1. 使用命令行工具 `ifconfig` `ifconfig` 是一个用于显示、配置和控制网络设备的命令。通过它,你可以看到各个网络接口的状态以及它们当前的IP地址和其他详细信息。 打开终端并输入下面的命令: ```bash ifconfig -a ``` 这个命令会列出系统上所有网络接口的信息,包括已启用和未启用的接口。如果某个接口已经被激活,你会看到它的名字、状态(UP表示激活,DOWN表示未激活)、MAC地址等信息。例如: ```output eth0 Link encap:Ethernet HWaddr 00:e4:86:5c:7b:c9 inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::2e4:86ff:fe5c:7bc9/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1468 (1.4 KB) TX bytes:744 (744 bytes) Interrupt:23 Memory:26000000 26200000 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:1 errors:0 dropped:0 overruns:0 frame:0 TX packets:1 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:68 (68 bytes) TX bytes:68 (68 bytes) ``` ### 2. 使用现代工具如 `ip` 或 `nmcli` 对于更现代的操作系统和接口管理,可以使用 `ip` 命令或 NetworkManager 的 `nmcli` 工具。这两个工具提供了更为简洁和现代化的方式来进行网络设备操作和查询。 **使用 ip 命令**: ```bash ip link show ``` 这将列出所有网络接口及其状态。 **使用 nmcli**: 首先需要安装 `NetworkManager` 管理工具,然后可以使用 `nmcli d` 来查看所有的网络连接详情: ```bash sudo nmcli d ``` ### 相关问题: 1. 是否有可能在没有网络服务的情况下仍然查看网络接口的状态? - 可以,即便在没有运行网络服务的情况下,系统依然可以通过各种命令查看网络接口的状态,不过可能无法查看实时的数据流量或连接情况。 2. Linux系统如何设置默认路由? - 默认路由可以在网络接口配置文件设置,或者使用命令行直接设置。对于静态路由,一般通过编辑 `/etc/sysconfig/network-scripts/ifcfg-ethX` 文件或者使用 `route add` 和 `net.ipv4.ip_forward=1` 来设置。 3. 查看网络接口是否绑定正确的IP地址? - 除了使用上述命令外,还可以通过编辑对应的网络接口配置文件(如 `ifcfg-ethX`),检查其的 IP 地址分配部分,确认是否正确绑定了预期的 IP 地址。 以上就是 Linux 系统查看网络接口状态的基本方法及相关的几个问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值