Esta pregunta es un exacto duplicado de este post de superuser.exchange.com. Creo que esta es una pregunta válida para ambos sitios y la esperanza no soy (si cualquier) violar stackexchange políticas.
Mac OS X no reconocen
rfkill
de su terminal, y estoy buscando una alternativa de comandos que tiene una funcionalidad similar (activa el "Modo Avión").NOTA: no deseo abrir una
.app
a alternar. Me gustaría ejecutar el comando desde la línea de comandos o dentro de un script en Bash (o equivalentes).
Por "Modo Avión", me refería a pedir prestado el término de iOS en la página de soporte aquí. Me gustaría deshabilitar todas las llamadas entrantes/salientes de la red de comunicaciones de mi sistema.
Respuestas
¿Demasiados anuncios?Hacer un ad hoc lugar el nombre isolated
o airplane
donde todas las interfaces de red están presentes y apagado.
Cambiar a esta sordos ubicación con:
networksetup -switchtolocation isolated
Podría ser más interesante que el de rfkill
ya que usted puede proteger a usted
a partir de una desapercibido cable Ethernet que podría estar escuchando a todos sus
comunicaciones (y mucho) :[.
Para comprobar que todo está realmente apagado, ejecute:
ifconfig -a | grep '[<,]UP[,>]' | grep -v '[<,]LOOPBACK[,>]'
Si este comando no muestra nada, entonces todas las interfaces están abajo, todo está bien.
Si este comando de salida de la nada, como aquí:
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
a continuación, significa que el nombre de la interfaz (aquí en1
que es el wireless
en esta Mac)
es en donde no debería. Esta es la señal de que la configuración está fallando o que algunos de caballo de Troya se convirtió en llegar a su servidor de control a través de Internet.
Dependiendo de mi objetivo (debo preocupación acerca de cerrar la interfaz de datos así?), Puedo elegir el plan en consecuencia:
Plan de Un (1) Interfaces de Red y (2) Interfaz de Datos
El Plan B para (1) Interfaces de Red
(Plan #1) Obtener el hardware instalado interfaces de la información (incluyendo interfaces de datos):
En primer lugar, me gustaría saber cuántos y qué tipos de interfaces que debo preocuparme.
$ networksetup -listallhardwareports
Hardware Port: Bluetooth DUN
Device: Bluetooth-Modem
Ethernet Address: N/A
Hardware Port: Ethernet
Device: en0
Ethernet Address: ff:ff:ff:ff:ff:ff
Hardware Port: FireWire
Device: fw0
Ethernet Address: ff:ff:ff:ff:ff:ff:ff:ff
Hardware Port: Wi-Fi
Device: en1
Ethernet Address: ff:ff:ff:ff:ff:f
(Plan De Un #?) (Opcional) Obtener la lista de interfaces de red sólo:
Este paso se me hace fácil a grep
.
$ networksetup -listallnetworkservices
An asterisk (*) denotes that a network service is disabled.
Ethernet
FireWire
Wi-Fi
(Plan #2) Obtener el nombre del dispositivo de las interfaces de red.
Me gustaría saber cual de interfaz de red(s) es/son activos.
$ ifconfig
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ff:ff:ff:ff:ff:ff
media: autoselect (none)
status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ff:ff:ff:ff:ff:ff
inet6 ffff::ffff:ffff:ffff:ffff%en1 prefixlen 64 scopeid 0x5
inet 192.168.1.fff netmask 0xffffff00 broadcast 192.168.1.fff
media: autoselect
status: active
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
lladdr ff:ff:ff:ff:ff:ff:ff:ff
media: autoselect <full-duplex>
status: inactive
(Plan B #1) Localizar airport
comando o conjunto de alias para airport
comando si no se reconoce:
Mi sistema no podía reconocer airport
comando, así que tuve que añadir la siguiente línea a .bash_profile
.
alias airport='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport'
(Plan B #2) Marque la actual situación del Aeropuerto:
$ ./airport -I
agrCtlRSSI: -10
agrExtRSSI: 0
agrCtlNoise: -10
agrExtNoise: 0
state: running
op mode: station
lastTxRate: 100
maxRate: 100
lastAssocStatus: 0
802.11 auth: open
link auth: fffffffffffffffff
BSSID: ff:ff:ff:ff:ff:ff
SSID: MelvNetwork
MCS: 15
channel: 6
(Plan de A & B #3)encender/apagar el Aeropuerto:
# For OS X 10.7 and later
$ networksetup -setairportpower en1 on # Turn on Airport
$ networksetup -setairportpower en1 off # Turn off Airport
# for OS X 10.6 and below
$ networksetup -setairportpower on # Turn on AirPort
$ networksetup -setairportpower off # Turn off AirPort
(Plan de A & B #4)encender/apagar el BlueTooth:
Descargar blueutil
aquí.
$ blueutil status # Check status of BlueTooth
Status: on
$ blueutil on # Turn BlueTooth on
$ blueutil off # Turn BlueTooth off
Secuencia de comandos:
Ahora que tengo todos los ingredientes, me puede escribir la secuencia de comandos para OS X 10.7!
Último Comentario:
(1) Algunos de los resultados son enmascarados con la letra 'f'.
(2) Según $ man networksetup
, puede configurar el proxy, TCP/IP, PPPoE (no probado).
(3) @RichHomolka sugerencia, networksetup --enableuserprofile
está obsoleto para OS X 10.7 (no probado en otras versiones).
(4) Si alguien siguiendo el procedimiento mencionado anteriormente se encuentra con un problema, por favor podría ocuparse de ellos en el comentario (o como en un aparte de respuesta)?