GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo saber qué interfaz estoy usando para conectarme a Internet?

Puedes usar route para encontrar su ruta predeterminada:

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     1      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

El Iface columna en la línea con destino default le dice qué interfaz se utiliza.


Mi versión que se basa básicamente en esto y esto:

route | grep '^default' | grep -o '[^ ]*$'

Y esto, experimentalmente , para macOS:

route -n get default | grep 'interface:' | grep -o '[^ ]*$'

En sistemas GNU/Linux:

#!/bin/sh

# host we want to "reach"
host=google.com

# get the ip of that host (works with dns and /etc/hosts. In case we get  
# multiple IP addresses, we just want one of them
host_ip=$(getent ahosts "$host" | awk '{print $1; exit}')

# only list the interface used to reach a specific host/IP. We only want the part
# between dev and src (use grep for that)
ip route get "$host_ip" | grep -Po '(?<=(dev )).*(?= src| proto)'

Linux
  1. Cómo buscar archivos grandes en la consola

  2. Ubuntu:¿cómo saber qué sistema de controlador X11 está usando?

  3. ¿Cómo averiguar cuál es el dominio para conectarse con Samba?

  4. ¿Cómo saber qué proceso está usando un archivo en Linux?

  5. ¿Cómo averiguo qué está utilizando todo el espacio en mi partición /?

Cómo encontrar archivos usando la línea de comandos en la terminal de Linux

Cómo saber a qué grupos pertenece un usuario en Linux

Aquí le mostramos cómo averiguar qué entorno de escritorio está utilizando

¿Cómo saber qué programa está usando Internet y cuánto?

Cómo encontrar el archivo .pid para un proceso dado

¿Cómo saber el tipo de virtualización de un VPS Linux?