Saya memiliki eth0 dan wlan0 sesuai dengan ifconfig dan saya bisa ping google.com
. Bagaimana saya bisa mengetahui (dengan pengguna normal, bukan root) antarmuka apa yang aktif , seperti apa, antarmuka apa yang ping (atau apa pun, ping tidak wajib) gunakan?
CATATAN: menggunakan Ubuntu 11.04 atau Fedora 14
Jawaban:
Anda dapat menggunakan
route
untuk menemukan rute default Anda:The
Iface
kolom dalam baris dengan tujuandefault
memberitahu Anda yang antarmuka digunakan.sumber
route
tidak dapat digunakan. @Torgeir punya jawaban yang bagus.192.168.1.0...
adalah rute yang akan digunakan. Tentu saja dalam kasus ini mengacu pada Iface yang sama, tetapi itu hanya karena Anda memiliki satu antarmuka pada mesin Anda.Versi saya yang pada dasarnya berdasarkan ini dan ini :
Dan ini, secara eksperimental , untuk macOS:
sumber
route |awk '/^default/{print $NF}'
Pada sistem GNU / Linux:
sumber
host
argumen input ke skrip. Karena rute (dan karenanya antarmuka) mungkin berbeda untuk ips yang berbeda.Menjalankan
ifconfig
akan memberi Anda informasi yang Anda butuhkan.Antarmuka aktif akan memiliki
inet addr
dan akan menampilkan catatan data yang dikirimkan, seperti:Anda juga dapat menggunakan
ip addr
perintah dan setiap interface tidak aktif akan ditunjuk sebagai memiliki:NO-CARRIER
.sumber
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
route
perintah meskipun itu tidak selalu mudah karena routing. Rute default tidak harus menjadi yang menuju ke Internet meskipun mungkin sering.Satu liner:
ip route get 8.8.8.8 | sed -n 's/.*dev \([^\ ]*\) table.*/\1/p'
sumber
Dapatkan antarmuka jaringan default yang biasanya digunakan untuk merutekan ke internet "yang tersisa" berlawanan dengan DMZ, jaringan pribadi, host VM, dll. Yang biasanya dirutekan secara eksplisit.
sumber
ip -4 route ls |awk '/^default/{print $5}'
Perintah
ip route ls
akan memberikan daftar rute aktif dan sumbernya:sumber
Gunakan perintah:
sumber
gunakan yang di bawah ini:
sumber
Jika mesin Anda memiliki beberapa antarmuka (yang saya asumsikan), tidak ada satu antarmuka pun yang akan digunakan untuk menghubungkan ke internet.
Bergantung pada tujuan yang Anda hubungkan, sistem Anda akan berkonsultasi dengan tabel ip (yang ditunjukkan saat Anda melakukan
route
perintah) untuk menemukan harapan / router berikutnya, ketika ia menemukannya, ia akan menggunakan antarmuka yang terkait dengannya.Yang mengatakan, silakan merujuk ke jawaban @ torgeir karena tidak persis seperti itu:
sumber