2013-03-02 10 views
8

Jestem tylko ciekawy, czy byłoby możliwe użycie jakichkolwiek narzędzi Pythona do odpytywania mocy sygnału Wi-Fi w systemie OS X. Większość moich wyszukiwań wymaga użycia narzędzi Pythona dla systemu Linux, ale nie dla systemu operacyjnego X.Czy istnieje sposób dostępu do danych Wi-Fi OS X przy użyciu Pythona? (Siła sygnału, na przykład)

Jeśli nie, czy są jakieś inne sposoby na programowe uzyskanie takich danych?

+0

Nigdy nie potrzebowałem tej konkretnej funkcji (ani nie widzę tego w dokumentach), ale konkretne moduły OS X można wyświetlić pod adresem http://docs.python.org/2/library/mac.html –

+0

+1 Nie natknąłem się na coś takiego wcześniej – Daniel

Odpowiedz

7

Odpowiedź na this question opisuje sposób ładowania struktury CoreWLAN. Gdy już to zrobisz, możesz użyć klasy CWInterface znaleźć RSSI, między innymi statystyki:

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()) 

Zobacz CWInterface docs pełną listę dostępnych obiektów.

1

Dla mac istnieje narzędzie wiersza poleceń o nazwie lotnisko. Możesz ręcznie dostosować ustawienia Wi-Fi, ustawienia karty sieciowej, rozwiązywać problemy z sieciami, zmieniać typy zabezpieczeń używanych w połączeniu, przechwytywać pakiety w pliku pcap, łączyć się i opuszczać sieci, zapominać o sieci Wi-Fi, nadawać priorytety routerom i sieciom, patrz siła sygnału i zakłócenia itp

Jego zwykle tutaj - /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

można po prostu wpisać ten o pomoc

airport 
airport -h 

Używanie tego i podproces razem powinieneś być w stanie zrobić większość tych rzeczy w Pythonie