В зависимости от моей цели (Должен ли я также беспокоиться о закрытии интерфейса данных?), Я могу выбрать соответствующий план:
План A для (1) сетевых интерфейсов и (2) интерфейса данных
План B для (1) сетевых интерфейсов
(План A # 1) Получить информацию об установленных аппаратных интерфейсах (включая интерфейсы данных):
Во-первых, я хотел бы знать, о каких и каких типах интерфейсов мне следует беспокоиться.
$ 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 #?) (Необязательно) Получить список только сетевых интерфейсов:
Этот шаг позволяет мне легко grep
.
$ networksetup -listallnetworkservices
An asterisk (*) denotes that a network service is disabled.
Ethernet
FireWire
Wi-Fi
(План A # 2) Получите имя устройства сетевых интерфейсов.
Я хотел бы знать, какие сетевые интерфейсы активны.
$ 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
(План B # 1) Найдите airport
команду или установите псевдоним для airport
команды, если она не распознана:
Моя система не смогла распознать airport
команду, поэтому мне пришлось добавить строку ниже .bash_profile
.
alias airport='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport'
(План B # 2) Проверьте текущий статус 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
(План A & B # 3) Включение / выключение 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
(План A & B # 4) Включение / выключение BlueTooth:
Скачать blueutil
здесь .
$ blueutil status # Check status of BlueTooth
Status: on
$ blueutil on # Turn BlueTooth on
$ blueutil off # Turn BlueTooth off
Автор сценария:
Теперь, когда у меня есть все ингредиенты, я могу написать скрипт для OS X 10.7!
Последние комментарии:
(1) Некоторые выходные данные маскируются символом «f».
(2) В соответствии с этим $ man networksetup
вы можете настроить прокси, TCP / IP, PPPoE (не тестировалось).
(3) Предложение @ RichHomolka networksetup --enableuserprofile
устарело для OS X 10.7 (не тестировалось в других версиях).
(4) Если кто-либо, следуя вышеуказанной процедуре, столкнется с проблемой, не могли бы вы обратиться к ним в комментарии (или в отдельном ответе)?