服务热线
15527777548/18696195380
发布时间:2022-03-28
简要描述:
在 Linux 中查找可用的网络接口我们可以通过几种方式找到可用的网卡。在本指南中,我们将讨论列出 Linux 中网络接口卡的 10 种方法。1. 使用 ifconfig 命令列出网络接口使用i...
我们可以通过几种方式找到可用的网卡。在本指南中,我们将讨论列出 Linux 中网络接口卡的 10 种方法。
使用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 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 11 netmask 20 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 171420 bytes 303980988 (28 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 171420 bytes 303980988 (28 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp9s0: flags=4163 mtu 1500 inet 11237 netmask 2220 broadcast 112255 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 (55 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 299706 bytes 60535732 (7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
正如你在上面的输出中看到的,我的 Linux 机器enp5s0
上有两个网络接口,即(板载有线以太网适配器)和wlp9s0
(无线网络适配器)。这里lo
是环回接口,用于在本地访问所有网络服务。它有一个 IP 地址127.0.0.1
。
我们还可以ifconfig
在许多 UNIX 变体(例如FreeBSD)中
使用相同的命令来列出可用的网卡。
该ifconfig
命令在最新的 Linux 版本中已弃用。因此,你可以使用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字样
)
这两个命令 (ifconfig
和ip
) 足以在你的 Linux 系统上找到可用的网卡。
但是,在 Linux 上列出网络接口的方法很少。
Linux 内核将网络接口详细信息保存在/sys/class/net
目录中。你可以通过查看此目录来验证可用接口的列表。
ls /sys/class/net enp5s0 lo virbr0 wlp9s0
在 Linux 操作系统中,/proc/net/dev
文件包含有关网络接口的统计信息。
要查看可用的网卡,只需使用命令查看其内容:
cat /proc/net/dev
该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 enp5s0 1500 0 0 0 0 0 0 0 0 BMU lo 65536 30 0 0 0 30 0 0 0 LRU virbr0 1500 0 0 0 0 0 0 0 0 BMU wlp9s0 1500 402063 0 0 0 165361 0 0 0 BMRU
请注意netstat 已过时
。的替代品"netstat -i"
是"ip -s link"
。另请注意,此方法将仅列出活动接口,而不是所有可用接口。
该nmcli
是用于控制NetworkManager和报告网络状态的命令行工具。它用于创建、显示、编辑、删除、激活和停用网络连接以及显示网络状态。
如果你有安装了网络管理器的 Linux 系统,你可以使用 nmcli 工具使用以下命令列出可用的网络接口:
nmcli device status DEVICE TYPE STATE CONNECTION wlp9s0 wifi connected JioFi4_12E9FE virbr0 bridge connected (externally) virbr0 p2p-dev-wlp9s0 wifi-p2p disconnected -- enp5s0 ethernet unavailable -- lo loopback unmanaged --
你还可以使用此命令显示 Linux 系统中的网络接口:
$ nmcli connection show
大多数上述应用程序都预装在大多数 Linux 和 Unix 系统中。还有一些外部应用程序可用于显示网卡列表。
Hwinfo
是一个命令行应用程序,用于查看 Linux 系统中的硬件信息。它探测 Linux 系统中存在的硬件并显示每个硬件设备的详细信息。
Hwinfo 可在许多 Linux 发行版的官方存储库中找到。要在基于 RPM 的系统上安装 hwinfo,请运行:
$ sudo dnf install hwinfo
在基于 Deb 的系统上,你可以使用以下命令安装 hwinfo:
$ sudo apt install hwinfo
安装后,运行以下命令以使用 hwinfo 应用程序列出网络接口的名称:
sudo hwinfo --short --network network interface: enp5s0 Ethernet network interface virbr0 Ethernet network interface wlp9s0 Ethernet network interface lo Loopback network interface
Lshw (Hardware Lister)
是一个 CLI 应用程序,可提供 Linux 系统硬件配置的详细信息。
要使用 lshw 应用程序显示 Linux 中的网卡列表,请运行:
sudo lshw -class network -short H/W path Device Class Description /0/100/1c.1/0 enp5s0 network RTL810xE PCI Express Fast Ethernet controller /0/100/1c.3/0 wlp9s0 network AR9285 Wireless Network Adapter (PCI-Express)
Inxi
是另一个命令行系统信息工具,如 hwinfo 和 lshw。它显示系统硬件、CPU、驱动程序、Xorg、桌面、内核、GCC 版本、进程、RAM 使用情况以及各种其他有用信息。
要显示有关网卡的信息,包括 Linux 系统中的供应商、网卡驱动程序和可用网络接口的数量,请使用以下-N
选项运行 inix :
$ inxi -N Network: Device-1: Realtek RTL810xE PCI Express Fast Ethernet driver: r8169 Device-2: Qualcomm Atheros AR9285 Wireless Network Adapter driver: ath9k
该lspci
命令列出 Linux 系统中的所有 PCI 设备。
要查看 Linux 系统中可用的网络接口列表,请使用lspci
和egrep
命令,如下所示:
lspci | egrep -i 'network|ethernet|wireless|wi-fi' 05:0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller (rev 05) 09:0 Network controller: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
到目前为止,我们看到的是在 Linux 中查找可用网络接口的各种方法。在上述所有方法中,我们显示了可用的网络接口以及一些其他详细信息,例如 RX/TX 详细信息、Mac 地址、连接状态、模式、网络类型等等。如果要去除不必要的详细信息并仅列出网络接口的名称,可以使用以下命令之一。
ifconfig -a | sed 's/[ \\t].*//;/^$/d' enp5s0: lo: virbr0: wlp9s0:
要从输出中排除环回设备 (lo),请改为运行以下命令:
$ ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d'
如前所述,ifconfig
不推荐使用命令。如果ifconfig
命令不可用,请使用ip
命令仅显示带有-o
如下标志的网络接口的名称:
$ ip -o link show | awk -F': ' '{print $2}' lo enp5s0 wlp9s0 virbr0
你也可以使用以下命令:
$ ip addr show | awk '/^[1-9]/ {print $2}'
上一篇:浅谈网站失效的认证和会话管理
下一篇:实战讲解内网渗透思路
如果您有任何问题,请跟我们联系!
联系我们