'sudo ifcong en0 down' - non sta giù in OS X?

1

Il mio obiettivo è terminare tutto il traffico ethernet attraverso en0 fino a quando non lo ripristino con ifconfig en0 up .

Quando eseguo ifconfig en0 down tramite terminale, quindi confermiamo ifconfig e tutte le interfacce sono inattive.

Tuttavia, il giorno dopo, trovo che en0 è automaticamente il backup. Come posso scoprire cosa lo ha portato, e c'è un modo migliore per assicurarti che rimanga giù?

    
posta Harry Potter 13.10.2016 - 18:55
fonte

1 risposta

0

Utilizza invece il comando networksetup . Sul mio sistema en0 è Wi-Fi, quindi uso networksetup -setairportpower en0 off . In realtà uso un piccolo AppleScript che si trova nel mio Dock e attiva e disattiva lo stato. Consulta la pagina di manuale di networksetup per ulteriori informazioni utilizzando% % co_de.

Salva il codice AppleScript come applicazione denominata Attiva / Disattiva Wi-Fi e quindi eseguilo come necessario / desiderato. Se lo esegui e il Wi-Fi è attivo, lo spegne e, se spento, lo accende.

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

Aggiornato per indirizzare l'utilizzo della scheda 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: nel codice sopra il nome del mio adattatore Ethernet è "Display Ethernet" e dovrai cambiarlo in qualunque sia il nome del tuo adattatore Ethernet. Puoi accertarlo in Preferenze di Sistema > Rete.

    
risposta data 13.10.2016 - 19:25
fonte

Leggi altre domande sui tag