Dependiendo de mi objetivo (¿debería preocuparme también por cerrar la interfaz de datos?), Puedo elegir el plan en consecuencia:
Plan A para (1) Interfaces de red y (2) Interfaz de datos
Plan B para (1) Interfaces de red
(Plan A # 1) Obtenga información de las interfaces de hardware instaladas (incluidas las interfaces de datos):
Primero, me gustaría saber cuántas y de qué tipo de interfaces debería 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 A #?) (Opcional) Obtenga solo la lista de interfaces de red:
Este paso me hace fácil grep
.
$ networksetup -listallnetworkservices
An asterisk (*) denotes that a network service is disabled.
Ethernet
FireWire
Wi-Fi
(Plan A # 2) Obtenga el nombre del dispositivo de las interfaces de red.
Me gustaría saber qué interfaz (es) de red está (n) activa (s).
$ 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) Localice el airport
comando o establezca el alias para el airport
comando si no se reconoce:
Mi sistema no podía reconocer el airport
comando, así que tuve que agregar debajo de la línea .bash_profile
.
alias airport='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport'
(Plan B # 2) Verifique el estado actual de AirPort:
$ ./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 A y B # 3) Encendido / apagado del AirPort:
# 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 A y B # 4) Encendido / apagado de BlueTooth:
Descarga blueutil
aquí .
$ blueutil status # Check status of BlueTooth
Status: on
$ blueutil on # Turn BlueTooth on
$ blueutil off # Turn BlueTooth off
Guión:
Ahora que tengo todos los ingredientes, ¡puedo escribir el script para OS X 10.7!
Últimos comentarios:
(1) Algunos de los resultados están enmascarados con el carácter 'f'.
(2) Según $ man networksetup
, también puede configurar el proxy, TCP / IP, PPPoE (no probado).
(3) La sugerencia de @ RichHomolka networksetup --enableuserprofile
está en desuso para OS X 10.7 (no se ha probado en otras versiones).
(4) Si alguien que sigue el procedimiento anterior encuentra un problema, ¿podría abordarlo en el comentario (o en una respuesta por separado)?