OS X의“비행기 모드”.`rfkill`에 대한 대체 명령?


9

Mac OS X은 rfkill터미널에서 인식하지 못하며 비슷한 기능을 가진 다른 명령을 찾고 있습니다 ( "비행기 모드"전환).

참고 : .app토글 을 열고 싶지 않습니다 . 커맨드 라인이나 Bash (또는 이와 동등한 것)의 스크립트 내에서 명령을 실행하고 싶습니다.


"비행기 모드", 나는 아이폰 OS 지원 페이지에서 용어를 빌려 의미 여기 . 시스템에서 모든 수신 / 발신 네트워크 통신을 비활성화하고 싶습니다.

답변:


10

이름이 isolated있거나 airplane모든 네트워크 인터페이스 있고 꺼져 있는 임시 위치를 만듭니다 .

다음을 사용하여이 청각 장애인 위치로 전환하십시오 :

networksetup -switchtolocation isolated

rfkill모든 통신을들을 수있는 눈에 띄지 않는 이더넷 케이블로부터 보호 할 수 있기 때문에 더 흥미로울 수 있습니다. 모든 것이 실제로 꺼져 있는지 확인하려면 다음을 실행하십시오.

ifconfig -a | grep '[<,]UP[,>]' | grep -v '[<,]LOOPBACK[,>]'

이 명령이 아무 것도 표시하지 않으면 모든 인터페이스가 작동 중지 되고 모든 것이 정상입니다.

이 명령이 다음과 같이 아무것도 출력하면 :

en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500

인터페이스 이름 (여기서는 en1이 Mac의 무선 이름 )은 사용하지 않아야 할 위치에 있음을 의미합니다. 이것은 구성이 실패했거나 일부 트로이 목마가 인터넷을 통해 제어 서버에 연결하도록 설정했음을 나타냅니다.


6

목표에 따라 (데이터 인터페이스를 종료하는 데 관심이 있습니까?) 그에 따라 계획을 선택할 수 있습니다.

(1) 네트워크 인터페이스 및 (2) 데이터 인터페이스 계획 A

(1) 네트워크 인터페이스 계획 B


(계획 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

(계획 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

(Plan 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) 위의 절차를 따르는 사람이 문제를 겪는 경우 의견이나 별도의 답변으로 문제를 해결할 수 있습니까?


1
사이트에 오신 것을 환영합니다. 분석해 주셔서 감사합니다. 귀하의 답변에 누락 된 유일한 부분 (그리고 미래 방문자가 찾을 것입니다)은 모든 결과를 솔루션으로 결합하는 스크립트입니다. 이것도 추가해 주시겠습니까?
nohillside

1
@patrix 아직 스크립트 작성을 완료하지 않았으며 여기에 게시하는 데 시간이 조금 걸릴 수 있습니다. 대신 github에 게시 할 계획입니다. 나중에 주소를 github으로 업데이트하겠습니다. 인사말 주셔서 감사합니다!
melvynkim

1
안녕 멜브! 완전 교차 게시가 확실히 허용되지 않기 때문에 수퍼 유저에 대한 질문을 삭제했습니다. FYI만으로도 어느 사이트 에나 머무르는 것이 좋을 것입니다.
slhck
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.