2013-03-02 20 views
8

Tôi chỉ tò mò liệu có thể sử dụng bất kỳ công cụ Python nào để thăm dò cường độ tín hiệu wi-fi trong OS X. Hầu hết các tìm kiếm của tôi chỉ là công cụ Python cho Linux, nhưng không có gì cho OS X.Có cách nào để truy cập dữ liệu wi-fi OS X bằng Python không? (Ví dụ như cường độ tín hiệu)

Nếu không, có cách nào khác để lấy dữ liệu đó theo chương trình không?

+0

Tôi chưa bao giờ cần tính năng cụ thể này (tôi cũng không thấy nó gắn bó trong tài liệu), nhưng các mô-đun cụ thể của OS X có thể được xem tại http://docs.python.org/2/library/mac.html –

+0

+1 Chưa từng gặp bất cứ điều gì như thế này trước đây – Daniel

Trả lời

7

Câu trả lời cho this question mô tả cách tải khung công tác CoreWLAN. Một khi bạn đã làm điều đó, bạn có thể sử dụng lớp CWInterface để tìm RSSI, trong số liệu thống kê khác:

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

Xem CWInterface docs cho danh sách đầy đủ các thuộc tính có sẵn.

1

Đối với mac, có công cụ dòng lệnh được gọi là sân bay. Bạn có thể tự điều chỉnh mọi cài đặt wi-fi, cài đặt card mạng, khắc phục sự cố mạng, thay đổi các loại bảo mật được sử dụng trên kết nối, chụp gói dữ liệu vào file pcap, tham gia và rời mạng, quên mạng wifi, ưu tiên bộ định tuyến và mạng, xem cường độ tín hiệu và can thiệp, vv

của nó thường ở đây - /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

bạn có thể chỉ cần gõ này để được giúp đỡ

airport 
airport -h 

Sử dụng này và tiến trình con cùng bạn sẽ có thể làm hầu hết những điều này trong python

Các vấn đề liên quan