Determinazione della NIC attualmente utilizzata sulla CLI

0

Lavoro molto su Virtual Machines e ho diversi script per aiutarmi a configurarli rapidamente. Potrei automatizzare completamente la rotazione di una VM senza testa, tranne per il fatto che ho bisogno di conoscere l'IP della mia macchina host per configurare le cose VNC.

Uso uno dei seguenti due comandi per ottenere l'indirizzo IP corrente:

ipconfig getifaddr en1      # For IP address assigned to wireless
ipconfig getifaddr en0      # For IP address assigned to ethernet

Il problema è che devo dire al mio script se usare en0 o en1. Uso wireless a casa ed ethernet al lavoro, quindi non posso fare una supposizione.

Potrei usare:

ifconfig | grep '192'

e analizza la riga risultante (sia lavoro che casa assegnano gli indirizzi di classe C), ma preferirei non doverlo fare.

C'è un modo per determinare quale scheda NIC è attualmente connessa alla rete dalla riga di comando? O almeno un modo migliore per determinare l'IP dell'host?

La mia macchina utilizza Mountain Lion, se pertinente.

    
posta Cody Poll 18.06.2013 - 09:27
fonte

2 risposte

1

Penso che il tuo problema sta determinando "ordine di servizio". La magia di base che vedi si verifica nelle Preferenze di sistema > Rete in cui il servizio connesso più in alto classifica in alto.

Questo articolo per Mac OS illustra un problema e una soluzione simili.

    
risposta data 18.06.2013 - 15:12
fonte
0

Che ne dici di

ifconfig -au|egrep "en\d:"|cut -d: -f1

che mostrerà i nomi di qualsiasi interfaccia 'en' che si trova in uno stato precedente

    
risposta data 18.06.2013 - 15:15
fonte

Leggi altre domande sui tag