Determinar la NIC utilizada actualmente en la CLI

0

Trabajo mucho en máquinas virtuales y tengo varios scripts que me ayudan a configurarlos rápidamente. Podría automatizar por completo la rotación de una máquina virtual sin cabeza, excepto que necesito saber la IP de mi máquina host para configurar VNC.

Utilizo cualquiera de los dos comandos siguientes para obtener la dirección IP actual:

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

El problema es que tengo que decirle a mi script si debo usar en0 o en1. Uso la tecnología inalámbrica en casa y Ethernet en el trabajo, por lo que no puedo hacer una suposición.

Podría usar:

ifconfig | grep '192'

y analice la línea resultante (tanto el trabajo como el hogar asignan direcciones de clase C), pero prefiero no tener que hacerlo.

¿Hay una manera de determinar qué NIC está actualmente conectada a la red desde la línea de comandos? ¿O al menos una mejor manera de determinar la IP del host?

Mi máquina usa Mountain Lion, si eso es relevante.

    
pregunta Cody Poll 18.06.2013 - 09:27

2 respuestas

1

Creo que su problema es determinar la "orden de servicio". La magia básica que ves sucede en las Preferencias del sistema > Red donde el servicio conectado de mayor rango se clasifica en la parte superior.

Este Sugerencias de Mac OS describe un problema y una solución similares.

    
respondido por el 8None1 18.06.2013 - 15:12
0

¿Qué tal

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

que le mostrará los nombres de las interfaces 'en' que están en un estado superior

    
respondido por el Kevin 18.06.2013 - 15:15

Lea otras preguntas en las etiquetas