GNU/Linux >> Znalost Linux >  >> Linux

Jak zjistit, jaké rozhraní používám pro připojení k internetu?

Můžete použít route k nalezení výchozí trasy:

$ 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

Iface sloupec v řádku s cílem default vám řekne, které rozhraní se používá.


Moje verze, která je v podstatě založena na tomto a tomto:

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

A to experimentálně , pro macOS:

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

Na systémech 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. Jak zkontrolovat velké soubory v konzole

  2. Linux – Jak omezit přístup k internetu pro konkrétního uživatele v síti LAN pomocí Iptables v Linuxu?

  3. Jak najít aplikaci pro typ mime v systému Linux?

  1. Jak zjistit, jaká je doména pro připojení k Sambě?

  2. Jak zjistím, co zabírá veškerý prostor na mém / oddílu?

  3. Jak zjistit, který ovladač Wi-Fi je nainstalován?

  1. Jak zjistit zdroj signálu POSIX

  2. Jak najít soubor .pid pro daný proces

  3. Jak zjistit typ virtualizace linuxového VPS?