A seconda del mio obiettivo (dovrei preoccuparmi di chiudere anche l'interfaccia dei dati?), Posso scegliere il piano di conseguenza:
Pianificare A per (1) interfacce di rete e (2) interfaccia dati
Piano B per (1) interfacce di rete
(Piano A n. 1) Ottieni informazioni sulle interfacce hardware installate (comprese le interfacce dati):
Innanzitutto, vorrei sapere quante e quali tipi di interfacce dovrei preoccuparmi.
$ 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 #?) (Opzionale) Ottieni solo l'elenco delle interfacce di rete:
Questo passaggio mi rende facile grep
.
$ networksetup -listallnetworkservices
An asterisk (*) denotes that a network service is disabled.
Ethernet
FireWire
Wi-Fi
(Piano A # 2) Ottieni il nome del dispositivo delle interfacce di rete.
Vorrei sapere quali sono le interfacce di rete attive / attive.
$ 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
(Piano B # 1) Individua il airport
comando o imposta l'alias per il airport
comando se non riconosciuto:
Il mio sistema non è stato in grado di riconoscere il airport
comando, quindi ho dovuto aggiungere la riga sotto a .bash_profile
.
alias airport='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport'
(Piano B # 2) Verifica lo stato corrente di 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
(Piano A e B # 3) Attivazione / disattivazione di 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
(Piano A e B # 4) Attivazione / disattivazione di BlueTooth:
Scarica blueutil
qui .
$ blueutil status # Check status of BlueTooth
Status: on
$ blueutil on # Turn BlueTooth on
$ blueutil off # Turn BlueTooth off
script:
Ora che ho tutti gli ingredienti, posso scrivere lo script per OS X 10.7!
Ultimi commenti:
(1) Alcuni degli output sono mascherati con il carattere 'f'.
(2) Secondo $ man networksetup
, è possibile configurare anche proxy, TCP / IP, PPPoE (non testato).
(3) Il suggerimento di @ RichHomolka networksetup --enableuserprofile
è obsoleto per OS X 10.7 (non testato in altre versioni).
(4) Se qualcuno che segue la procedura sopra descritta incontra un problema, potresti per favore affrontarlo nel commento (o come in una risposta separata)?