2013-03-02 6 views
8

OS X에서 Wi-Fi 신호 강도를 폴링하는 데 Python 도구를 사용할 수 있는지 궁금합니다. 대부분의 검색은 Linux 용 Python 도구를 산출하지만 OS는 없습니다. X.Python을 사용하여 OS X wi-fi 데이터에 액세스 할 수있는 방법이 있습니까? (예 : 신호 강도)

그렇지 않다면 프로그래밍 방식으로 이러한 데이터를 가져 오는 다른 방법이 있습니까?

+0

필자는이 특정 기능을 절대로 필요로하지 않았으며 (문서에서도 볼 수 없음), OS X 특정 모듈은 http://docs.python.org/2/library/mac.html –

+0

에서 볼 수 있습니다. +1 전에 이런 일이 없었어요. – Daniel

답변

7

this question에 대한 대답은 CoreWLAN 프레임 워크를로드하는 방법을 설명합니다. 당신이 그 일을 한 후에는 다른 통계 사이의 RSSI를 찾기 위해 CWInterface 클래스를 사용할 수 있습니다 :

import objc 
objc.loadBundle('CoreWLAN', 
       bundle_path='/System/Library/Frameworks/CoreWLAN.framework', 
       module_globals=globals()) 

for iname in CWInterface.interfaceNames(): 
    interface = CWInterface.interfaceWithName_(iname) 
    print """ 
Interface:  %s 
SSID:   %s 
Transmit Rate: %s 
Transmit Power: %s 
RSSI:   %s""" % (iname, interface.ssid(), interface.transmitRate(), 
         interface.transmitPower(), interface.rssi()) 

가 사용할 수있는 속성의 전체 목록은 CWInterface docs를 참조하십시오.

1

mac의 경우 공항이라는 명령 행 도구가 있습니다. 수동으로 Wi-Fi 설정, 네트워크 카드 설정, 네트워크 문제 해결, 연결에 사용되는 보안 유형 변경, 패킷을 pcap 파일로 캡처, 네트워크 참여 및 탈퇴, wifi 네트워크 잊기, 라우터 및 네트워크 우선 순위 설정, 신호 강도보기 간섭 등

그것의 보통 여기에 - /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

당신은 함께 당신이 파이썬

에서 이런 일들의 대부분을 할 수 있어야이와 하위 프로세스를 사용하여

airport 
airport -h 

도움이 입력 할 수 있습니다