Diferencia entre el servicio de red deshabilitado, inactivo y sin interfaz

1

Hay (al menos) cuatro formas diferentes de deshabilitar mi Wi-Fi en mi Mac:

  1. Haga clic en el icono de Wi-Fi en la barra de menú y seleccione "Desactivar Wi-Fi"
  2. Preferencias del sistema - > Red, seleccione Wi-Fi, haga clic en Cog, seleccione Hacer inactivo el servicio
  3. sudo ifconfig en0 down
  4. networksetup -setnetworkserviceenabled Wi-Fi off

Los dos primeros son equivalentes, es decir, cambian la misma configuración.

Lo que me gustaría entender es, en un nivel bajo, ¿cuáles son las diferencias fundamentales entre 1, 3 y 4?

    
pregunta Andrew Parker 26.05.2017 - 10:15

1 respuesta

2

Apagar el wifi a través de la barra de menú es equivalente a:

networksetup -setairportpower en0 off

... y así, lo mismo que apagarlo en la configuración de red.

No puedo hablar con los niveles bajos, pero networksetup es una adición de Apple, mientras que ifconfig es estándar no solo para BSD, sino también para Linux. (Aunque las dos utilidades en última instancia son distintas, no solo en su implementación sino en la API)

Si tuviera que adivinar, y lo haré, ya que las partes internas de Apple no son exactamente transparentes (por favor, alguien me corrige si es posible), networksetup está destinado a controlar el hardware real, el dispositivo Wi-Fi , mientras que ifconfig es una utilidad puramente a nivel del sistema operativo. Al igual que usted puede salir de su aplicación de video-chat, y poner un pedazo de cinta sobre la cámara.

Algunas cosas que puedo verificar:

  1. La interfaz, por ejemplo, en0 , debe ser UP (por lo tanto, ifconfig en0 up ), así como la potencia del aeropuerto activada (por lo tanto, 'networksetup -setairportpower en0 on).
  2. Tanto down ing a iface , como girar airportpower off , representarán el símbolo de la barra de menú como un contorno hueco.
  3. PERO, si tanto ABAJO como desactivado, si traes airportpower on , si ifconfig ... up no se ha ejecutado después de ejecutar ifconfig ... down , entonces el símbolo no estará vacío y macOS buscará frenéticamente en busca de redes, pero no poder: (1) conectarse a una red (2) subir el iface0 (3) cambiar la tabla de enrutamiento

Entonces, ese símbolo de wifi parece ser el resultado de un cambio de estado, no un estado real. En ese sentido, el estado real de si se muestra o no Wi-Fi como capaz de conectarse no está conectado al indicador visual. Pero la interfaz, incluso cuando está ABAJO, parece que se explora de alguna manera, ya que si se devuelve on airportpower , el "estado:" dado por ifconfig cambiará rápidamente de vuelta & entre active y inactive , incluso si la interfaz real no es UP.

Por lo tanto, hay inconsistencia. Pero es así porque no habría ninguna razón para desactivar el segundo después de hacerlo el primero. Y porque los deseos de Apple & Las API ideales difieren de las de BSD.

    
respondido por el dougpa 15.03.2018 - 11:15

Lea otras preguntas en las etiquetas