1 votos

Diferencia entre servicio de red deshabilitado, inactivo e interfaz caído

Hay (al menos) cuatro formas diferentes de desactivar el 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 Servicio Inactivo
  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, a bajo nivel, ¿cuáles son las diferencias fundamentales entre el 1, el 3 y el 4?

2voto

dougpa Puntos 21

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

networksetup -setairportpower en0 off

... y así, lo mismo que desactivarlo en los ajustes de red.

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

Si tuviera que adivinar, y voy a adivinar ya que las internas de Apple no son precisamente transparentes (por favor, que alguien me corrija si es capaz), 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 puedes salir de tu aplicación de videochat, frente a poner un trozo de cinta adhesiva sobre la cámara.

Algunas cosas que puedo verificar:

  1. Para funcionar, tanto la interfaz, digamos, en0 , debe ser ARRIBA (así, ifconfig en0 up ), así como airportpower siendo ON (así, networksetup -setairportpower en0 on ).
  2. Ambos down de un iface y girando el poder del aeropuerto off , mostrará el símbolo de la barra de menús como un contorno hueco.
  3. PERO, si los dos se bajan/apagan, si se lleva la energía del aeropuerto on , si ifconfig ... up no se ha ejecutado después de ejecutar ifconfig ... down , entonces el símbolo no estará hueco, y MacOS buscará frenéticamente las redes, pero será incapaz de hacerlo: (1) conectarse a una red (2) traer el iface0 (3) cambiar la tabla de enrutamiento

Por lo tanto, ese símbolo de wifi parece ser el resultado de un cambio de estado, no de un estado real. En ese sentido, el estado real de si el Wi-Fi se muestra como capaz de conectarse o no, no está conectado al indicador visual. Pero la interfaz, incluso cuando está en posición ABAJO, parece escanear de alguna manera, en el sentido de que si se vuelve on el airportpower el "estado:" dado por ifconfig cambiará rápidamente de un lado a otro entre active y inactive incluso si la interfaz real no es UP.

Por lo tanto, hay incoherencia. Pero es así porque no habría ninguna razón para desactivar la segunda después de haber hecho la primera. Y porque los deseos de Apple y la API ideal difieren de los de BSD.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X