Tutoriales

Cómo encontrar interfaces de red disponibles en Linux

Podemos configurar interfaces de red en Linux durante el tiempo de instalación. Sin embargo, es posible que algunos de ustedes quieran hacer esto después de la instalación o cambiar la configuración existente. Como ya sabe, lo primero que necesita saber es cuántas interfaces están disponibles en el sistema para configurar la red desde la línea de comandos. Este tutorial detallado cubre todas las formas de enumerar y encontrar interfaces de red disponibles en los sistemas operativos Linux y Unix.

Encuentre interfaces de red disponibles en Linux

Podemos encontrar las tarjetas de red disponibles de varias formas. Esta guía describe 10 formas de enumerar las tarjetas de interfaz de red en Linux.

1. Enumere las interfaces de red con el comando ifconfig

El método más común para encontrar los detalles de la interfaz de red con ifconfig Mando. Creo que algunos de los usuarios de Linux aún podrían usar esto.

$ ifconfig -a

Salida de muestra:

enp5s0: flags=4098<BROADCAST,MULTICAST> 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<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
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<UP,BROADCAST,RUNNING,MULTICAST> 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<global>
inet6 fe80::c218:85ff:fe50:474f prefixlen 64 scopeid 0x20<link>
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

Como puede ver en el resultado anterior, tengo dos interfaces de red enp5s0 (adaptador ethernet cableado a bordo) y wlp9s0 (Adaptador WLAN) en mi caja Linux. Aquí, lo es una interfaz de bucle invertido que se utiliza para acceder a todos los servicios de red localmente. Tiene una dirección IP 127.0.0.1.

Podemos usar eso también 'ifconfig' Comando en muchos sabores de UNIX, por ejemplo FreeBSDpara enumerar las tarjetas de red disponibles.

2. Enumere las interfaces de red con el comando ip

los 'ifconfig' El comando está obsoleto en las últimas versiones de Linux. Entonces puedes usar 'ip' Comando para mostrar las interfaces de red como se muestra a continuación.

$ ip link show

Salida de muestra:

1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
Encuentre interfaces de red disponibles con el comando ‘ip’

También puede utilizar los siguientes comandos.

$ ip addr
$ ip -s link

¿Notó que este comando también muestra el estado de conexión de las interfaces de red? Si observa detenidamente la salida anterior, encontrará que mi tarjeta ethernet no está conectada a un cable de red (consulte la palabra «BAJO» en la edición anterior). Y la tarjeta de red inalámbrica está conectada (vea la palabra «ELEVADO»). Para obtener más información, consulte también nuestra guía anterior. Encuentre el estado conectado de las interfaces de red en Linux.

Estos dos comandos (ifconfig y ip) son suficientes para encontrar las tarjetas de red disponibles en sus sistemas Linux.

Sin embargo, existen algunos otros métodos para enumerar las interfaces de red en Linux.

3. Enumere las interfaces de red con el directorio / sys / class / net /

El kernel de Linux almacena los detalles de la interfaz de red dentro /sys/class/net Directorio. Puede consultar la lista de interfaces disponibles en este directorio.

$ ls /sys/class/net

Salida de muestra:

enp5s0  lo  virbr0  wlp9s0

4. Enumere las interfaces de red con el archivo / proc / net / dev

Para los sistemas operativos Linux, /proc/net/dev El archivo contiene estadísticas sobre las interfaces de red.

Para ver las tarjetas de red disponibles, simplemente vea su contenido con el comando:

$ cat /proc/net/dev

Salida de muestra:

Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:    2836      30    0    0    0     0          0         0     2836      30    0    0    0     0       0          0
enp5s0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
wlp9s0: 557664882  402062    0    0    0     0          0         0 20087136  165358    0    0    0     0       0          0
virbr0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

5. Enumere las interfaces de red mediante el comando netstat

los netstat El comando muestra varios detalles, como conexiones de red, tablas de enrutamiento, estadísticas de interfaz, conexiones de enmascaramiento y membresías de multidifusión.

$ netstat -i

Salida de muestra:

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

Tenga en cuenta que netstat no está actualizado. El reemplazo de "netstat -i" es "ip -s link". También tenga en cuenta que este método solo enumera las interfaces activas, no todas las interfaces disponibles.

6. Enumere las interfaces de red con el comando nmcli

los nmcli es una herramienta de línea de comandos para controlar NetworkManager e informar sobre el estado de la red. Se utiliza para crear, ver, editar, eliminar, activar y desactivar conexiones de red y mostrar el estado de la red.

Si tiene un sistema Linux con Network Manager instalado, puede enumerar las interfaces de red disponibles usando la herramienta nmcli con los siguientes comandos:

$ nmcli device status

Salida de muestra:

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               --            

También puede usar este comando para ver las interfaces de red en su sistema Linux:

$ nmcli connection show

La mayoría de las utilidades anteriores están preinstaladas en la mayoría de los sistemas Linux y Unix. También hay algunas utilidades externas más para mostrar una lista de tarjetas de red.

7. Muestra la lista de interfaces de red con hwinfo.

Hwinfo es una utilidad de línea de comandos para ver información de hardware en un sistema Linux. Busca el hardware presente en un sistema Linux y muestra los detalles completos de cada dispositivo de hardware.

Hwinfo está disponible en los repositorios oficiales de muchas distribuciones de Linux. Para instalar hwinfo en sistemas basados ​​en RPM, haga lo siguiente:

$ sudo dnf install hwinfo

En sistemas basados ​​en Deb, puede instalar hwinfo con el siguiente comando:

$ sudo apt install hwinfo

Después de la instalación, ejecute el siguiente comando para enumerar los nombres de las interfaces de red que utilizan la utilidad hwinfo:

$ sudo hwinfo --short --network

Salida de muestra:

network interface:                                              
  enp5s0               Ethernet network interface
  virbr0               Ethernet network interface
  wlp9s0               Ethernet network interface
  lo                   Loopback network interface

8. Muestre las interfaces de red con lshw. a

Lshw (escucha de hardware) es una utilidad CLI que proporciona información detallada sobre la configuración de hardware de un sistema Linux.

Para ver la lista de tarjetas de red en Linux usando la utilidad lshw, ejecute:

$ sudo lshw -class network -short

Salida de muestra:

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)

9. Interfaces de red con inxi. Show

Inxi es otra herramienta de información del sistema de línea de comandos como hwinfo y lshw. Muestra el hardware del sistema, CPU, controladores, Xorg, escritorio, kernel, versión (s) de GCC, procesos, uso de RAM y una gran cantidad de otra información útil.

Para ver información sobre las tarjetas de red, incluido el fabricante, el controlador de la tarjeta y la cantidad de interfaces de red disponibles en un sistema Linux, ejecute inix con. el fin -N Oportunidad:

$ inxi -N
Network:   Device-1: Realtek RTL810xE PCI Express Fast Ethernet driver: r8169 
           Device-2: Qualcomm Atheros AR9285 Wireless Network Adapter driver: ath9k 

10. Muestre las interfaces de red con lspci. a

los lspci El comando enumera todos los dispositivos PCI en un sistema Linux.

Para ver la lista de interfaces de red disponibles en un sistema Linux, use lspci con garza Comando de la siguiente manera:

$ lspci | egrep -i 'network|ethernet|wireless|wi-fi'

Salida de muestra:

05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller (rev 05)
09:00.0 Network controller: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) (rev 01)

Enumere solo los nombres de las interfaces de red disponibles

Lo que hemos visto hasta ahora son diferentes métodos para encontrar las interfaces de red disponibles en Linux. En todos los métodos anteriores, hemos mostrado las interfaces de red disponibles junto con algunos detalles adicionales como detalles de RX / TX, dirección Mac, estado de conexión, modo, tipo de red y algunos más. Si desea eliminar detalles innecesarios y simplemente enumerar los nombres de las interfaces de red, puede usar uno de los siguientes comandos.

$ ifconfig -a | sed 's/[ t].*//;/^$/d'

Salida de muestra:

enp5s0:
lo:
virbr0:
wlp9s0:

Para excluir el dispositivo de bucle de retorno (lo) de la salida, ejecute este comando en su lugar:

$ ifconfig -a | sed 's/[ t].*//;/^(lo|)$/d'

Como ya dije ifconfig El comando está desactualizado. si ifconfig El comando no está disponible, use ip Comando para mostrar solo el nombre de las interfaces de red con -o Marcar como se muestra a continuación:

$ ip -o link show | awk -F': ' 'print $2'
lo
enp5s0
wlp9s0
virbr0

También puede utilizar el siguiente comando:

$ ip addr show | awk '/^[1-9]/ print $2'

diploma

En esta guía, hemos analizado diez métodos diferentes para encontrar y enumerar las interfaces de red disponibles en Linux y Unix. También analizamos algunas formas de mostrar solo los nombres de las interfaces de red en Linux.

Lea las guías a continuación para aprender cómo configurar la dirección IP en Linux.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba