GNU/Linux >> Linux Esercitazione >  >> Linux

Come scoprire quale interfaccia sto usando per connettermi a Internet?

Puoi usare route per trovare il percorso predefinito:

$ 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

Il Iface colonna nella riga con destinazione default ti dice quale interfaccia è utilizzata.


La mia versione che si basa fondamentalmente su questo e questo:

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

E questo, sperimentalmente , per macOS:

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

Sui sistemi 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. Come verificare la presenza di file di grandi dimensioni nella console

  2. Linux:come limitare l'accesso a Internet per un particolare utente sulla LAN utilizzando Iptables in Linux?

  3. Come trovare l'applicazione per un tipo Mime su Linux?

  4. Come trovare quale shell stai usando su Linux

  5. Come scoprire quale processo sta usando un file in Linux?

Come trovare i file usando la riga di comando nel terminale Linux

Come scoprire a quali gruppi appartiene un utente in Linux

Ecco come scoprire quale ambiente desktop stai utilizzando

Come scoprire quale programma utilizza Internet e quanto?

Come trovare il file .pid per un determinato processo

Come scoprire il tipo di virtualizzazione di un VPS Linux?