'sudo ifcong en0 down' - ¿no se queda abajo en OS X?

1

Mi objetivo es terminar todo el tráfico de Ethernet a través de en0 hasta que lo recupere con ifconfig en0 up .

Cuando ejecuto ifconfig en0 down a través del terminal y luego confirmo ifconfig y todas las interfaces están inactivas.

Sin embargo, al día siguiente, encuentro que en0 se realiza automáticamente una copia de seguridad. ¿Cómo puedo averiguar qué lo mencionó, y hay una mejor manera de asegurar que se mantenga abajo?

    
pregunta Harry Potter 13.10.2016 - 18:55

1 respuesta

0

En su lugar, utilice el comando networksetup . En mi sistema, en0 es Wi-Fi, así que uso networksetup -setairportpower en0 off . De hecho, uso un pequeño AppleScript que se encuentra en mi Dock y cambia el estado. Consulte la página de manual de configuración de red para obtener información adicional utilizando networksetup .

Guarde el código de AppleScript como una aplicación llamada Toggle Wi-Fi y luego puede ejecutarla según sea necesario / deseado. Si lo ejecutas y la conexión Wi-Fi está activada, la desactiva y, si está desactivada, la activa.

on run
    set interface to "en0"
    set status to do shell script "ifconfig " & interface & " | awk '/status:/{print $2}'"

    if status is "inactive" then
        do shell script "networksetup -setairportpower " & interface & "  on"
        display dialog "The Wi-Fi Network Adapter is turned: ON" with title "Wi-Fi Network Adapter Status" buttons {"OK"} default button 1 giving up after 3
    else
        do shell script "networksetup -setairportpower " & interface & "  off"
        display dialog "The Wi-Fi Network Adapter is turned: OFF" with title "Wi-Fi Network Adapter Status" buttons {"OK"} default button 1 giving up after 3
    end if
end run

Actualizado para abordar el uso del adaptador Ethernet:

on run
    set interfaceNumber to "en0"
    set interfaceName to "Display Ethernet"
    set status to do shell script "ifconfig " & interfaceNumber & " | awk '/status:/{print $2}'"

    if status is "inactive" then
        do shell script "networksetup -setnetworkserviceenabled " & quoted form of interfaceName & " on with administrator privileges"
        display dialog "Network Adapter " & interfaceNumber & " is turned: ON" with title interfaceName & " Network Adapter Status" buttons {"OK"} default button 1 giving up after 3
    else
        do shell script "networksetup -setnetworkserviceenabled " & quoted form of interfaceName & " off with administrator privileges"
        display dialog "Network Adapter " & interfaceNumber & " is turned: OFF" with title interfaceName & " Network Adapter Status" buttons {"OK"} default button 1 giving up after 3
    end if
end run

Nota: en el código , el nombre de mi Adaptador Ethernet es "Mostrar Ethernet" y deberá cambiarlo a cualquiera que sea el nombre de su Adaptador Ethernet. Puede verificarlo en Preferencias del sistema > Red.

    
respondido por el user3439894 13.10.2016 - 19:25

Lea otras preguntas en las etiquetas