GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo encontrar interfaces de red disponibles en Linux

Podemos configurar interfaces de red en Linux durante el tiempo de instalación. Pero, algunos de ustedes pueden preferir hacerlo después de la instalación o cambiar la configuración existente. Como ya sabe, primero debe saber cuántas interfaces están disponibles en el sistema para configurar los ajustes de red desde la línea de comandos. Este tutorial detallado aborda todas las formas posibles de enumerar y encontrar las 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 dos maneras. En esta guía, analizaremos 10 formas de enumerar las tarjetas de interfaz de red en Linux.

1. Enumere las interfaces de red usando el comando ifconfig

El método más utilizado para encontrar los detalles de la interfaz de red usando ifconfig dominio. 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, a saber, enp5s0 (adaptador de ethernet con cable incorporado) y wlp9s0 (adaptador de red inalámbrica) en mi caja de Linux. Aquí, lo es la 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 .

También podemos usar el mismo 'ifconfig' comando en muchas variantes de UNIX, por ejemplo FreeBSD , para enumerar las tarjetas de red disponibles.

2. Enumere las interfaces de red usando el comando ip

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

También puede usar los siguientes comandos.

$ ip addr
$ ip -s link

¿Notó que este comando también muestra el estado conectado de las interfaces de red? Si observa detenidamente el resultado anterior, notará que mi tarjeta Ethernet no está conectada con el cable de red (vea la palabra "ABAJO" en la salida anterior). Y la tarjeta de red inalámbrica está conectada (vea la palabra "ARRIBA" ). Para obtener más detalles, consulte nuestra guía anterior para encontrar 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, hay algunos otros métodos disponibles para enumerar las interfaces de red en Linux.

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

El Kernel de Linux guarda los detalles de la interfaz de red dentro de /sys/class/net directorio. Puede verificar la lista de interfaces disponibles consultando este directorio.

$ ls /sys/class/net

Salida de muestra:

enp5s0  lo  virbr0  wlp9s0

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

En 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 usando 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 usando el comando netstat

El netstat El comando muestra varios detalles, como conexiones de red, tablas de enrutamiento, estadísticas de interfaz, conexiones enmascaradas 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 está obsoleto . El reemplazo de "netstat -i" es "ip -s link" . También tenga en cuenta que este método enumerará solo las interfaces activas, no todas las interfaces disponibles.

6. Enumere las interfaces de red usando el comando nmcli

El nmcli es una herramienta de línea de comandos para controlar NetworkManager e informar sobre el estado de la red. Se utiliza para crear, mostrar, 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 usando 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 mostrar las interfaces de red en su sistema Linux:

$ nmcli connection show

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

7. Mostrar lista de interfaces de red usando hwinfo

Hwinfo es una utilidad de línea de comandos para ver la información de hardware en un sistema Linux. Sondea el hardware presente en un sistema Linux y muestra los detalles extensos 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, ejecute:

$ sudo dnf install hwinfo

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

$ sudo apt install hwinfo

Una vez instalado, ejecute el siguiente comando para listar el nombre de las interfaces de red usando 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. Mostrar interfaces de red usando lshw

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

Para mostrar la lista de tarjetas de red en Linux con 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. Ver interfaces de red usando inxi

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

Para mostrar información sobre las tarjetas de red, incluido el proveedor, el controlador de la tarjeta y la cantidad de interfaces de red disponibles en un sistema Linux, ejecute inix con -N opción:

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

Lectura relacionada:

  • Cómo verificar o encontrar información de la CPU en Linux

10. Mostrar interfaces de red mediante lspci

El 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 egrep comando como a continuación:

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

Enumerar solo el nombre de las interfaces de red disponibles

Lo que hemos visto hasta ahora son varios métodos para encontrar las interfaces de red disponibles en Linux. En todos los métodos mencionados anteriormente, mostramos las interfaces de red disponibles junto con algunos detalles adicionales, como detalles de RX/TX, dirección Mac, estado conectado, modo, tipo de red y algunos más. Si desea eliminar detalles innecesarios y enumerar solo el nombre 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 invertido (lo) de la salida, ejecute este comando en su lugar:

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

Como se indicó anteriormente, ifconfig el comando está en desuso. Si ifconfig el comando no está disponible, use ip comando para mostrar solo el nombre de las interfaces de red con -o marca como a continuación:

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

También puede usar el siguiente comando:

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

Conclusión

En esta guía, discutimos diez métodos diferentes para encontrar y enumerar las interfaces de red disponibles en Linux y Unix. También hemos visto algunas formas de mostrar solo el nombre de las interfaces de red en Linux.

Consulte las siguientes guías para saber cómo configurar la dirección IP en Linux.

  • Cómo configurar una dirección IP estática en Linux y Unix
  • Cómo configurar la dirección IP en Ubuntu 18.04 LTS
  • Cómo configurar una dirección IP estática y dinámica en Arch Linux
  • Cómo asignar múltiples direcciones IP a una sola tarjeta de red en Linux

Linux
  1. Cómo usar BUSCAR en Linux

  2. Cómo configurar una dirección IP estática en Debian Linux

  3. Cómo encontrar un archivo en Linux

  4. Cómo encontrar la IP de la puerta de enlace predeterminada en Linux

  5. ¿Cómo saber la capacidad de las interfaces de red?

Cómo encontrar la dirección IP en Linux

Cómo encontrar el nombre de host en Linux

Descubra los adaptadores de red disponibles en Ubuntu Linux

Cómo agregar una ruta en Linux

Cómo encontrar el último inicio de sesión en Linux

Cómo encontrar la dirección IP en Linux