GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengetahui antarmuka mana yang saya gunakan untuk terhubung ke internet?

Anda dapat menggunakan route untuk menemukan rute default Anda:

$ 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 kolom di baris dengan tujuan default memberi tahu Anda antarmuka mana yang digunakan.


Versi saya yang pada dasarnya didasarkan pada ini dan ini:

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

Dan ini, secara eksperimental , untuk macOS:

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

Pada sistem 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. Linux:Bagaimana Menemukan Driver Perangkat yang Digunakan Untuk Perangkat?

  2. Linux – Bagaimana Membatasi Akses Internet Untuk Pengguna Tertentu Di Lan Menggunakan Iptables Di Linux?

  3. Bagaimana Cara Mengetahui Apa Itu Domain Untuk Menghubungkan Dengan Samba?

  1. Bagaimana cara mengetahui proses mana yang menggunakan file di Linux?

  2. Bagaimana cara mengetahui apa yang menghabiskan semua ruang di partisi / saya?

  3. Bagaimana cara mengetahui driver Wi-Fi mana yang diinstal?

  1. Cara memeriksa file besar di konsol

  2. Ubuntu – Bagaimana Cara Mengetahui Sistem Driver X11 Yang Digunakan?

  3. Cara menemukan file .pid untuk proses tertentu