Wie kann ich abrufen die Signalstärke von in der Nähe wireless-LAN-Netzwerke auf Windows mit Python?
Wie kann ich abrufen die Signalstärke von in der Nähe wireless-LAN-Netzwerke auf Windows mit Python?
Ich würde gerne entweder Karte oder Diagramm die Werte.
Bitte geben Sie Ihre Plattform (Windows, Linux, ...)
Ich bin mit windows.
Ich bin mit windows.
InformationsquelleAutor kame | 2010-05-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie auf Windows, werden Sie wahrscheinlich wollen, um Nutzung der WLAN-API, die bietet die "WlanGetAvailableNetworkList ()" - Funktion (siehe API-docs für die Nutzung). Ich bin mir nicht bewusst irgendwelche python-Wrapper für
WLANAPI.DLL
so haben Sie möglicherweise wickeln Sie es sich mit ctypes. Ich habe eine vorläufige Skript, das dies tut (works-for-me), aber kann es sein crufty. Sie wollen Lesen Sie die Dokumentation zu verstehen, die Bedeutung aller Felder:Auf linux, Sie haben ein paar Möglichkeiten:
Den standard-Optionen ist zum Parsen der Ausgabe von
iwlist -scan
. Allerdings, wenn Sie derzeit mit einem wlan verbunden und läuft nicht als root, es gibt nur die aktuell verbundene wlan.Wenn du mehr brauchst als diese, die beste Möglichkeit ist eine Abfrage der WLAN-manager-daemon. Auf modernen Linux-Versionen ist dies in der Regel NetworkManager, obwohl wicd wird immer beliebter. Beide Manager können abgefragt werden mit
dbus
. Es sei denn, Sie können kontrollieren, was die Kunden haben auf Ihren Systemen, müssen Sie möglicherweise die Unterstützung beide dieser Optionen, oder zumindest eine option und haben ein fallback füriwlist
.InformationsquelleAutor fmark
Wenn Sie nicht wollen, befassen sich mit der Windows API, die Sie verwenden könnte, die Methode gezeigt, hier mit eine leichte Modifikation.
Können Sie diesen Befehl verwenden:
mit diesem code
Dies wird Ihnen additiona "Signal" - Informationen in Prozent an. Diese können konvertiert werden, um RSSI mit diese Methode.
InformationsquelleAutor gmag11
Gut Sie konnten, rufen Sie das system-Befehl zu bekommen, dass die info (Linux = iwlist), analysieren das Ergebnis und zeigt es an.
InformationsquelleAutor Joshua
@fmark ich wollte nur sagen, vielen DANK für diese awesome post. Bei meiner Arbeit habe ich versucht zu bekommen, RSSI, von den angeschlossenen AP in Windows, und Sie verdienen vielen Dank für mich endlich erledigt. Ich bin derzeit auf der Liste alle APs, aber ich arbeite an der Modifikation. Ich wollte, um eine Empfehlung gegen deinen code. Ich bin nicht sehr erfahren mit C oder Python-CTypes-Modul, aber ich denke, ich könnte Sie gefunden haben, einen möglichen Fehler. Ich bin wirklich nicht sicher, welchen Unterschied es macht, aber ich merkte:
Definieren Sie Enumerationen wie diese:
Aber dann andere Zeiten, die Sie definieren, etwas sehr ähnlich wie diese:
Ich denke, dass die zweite snippit sollte modelliert werden wie die erste, aber ich könnte falsch sein. Hier war meine Idee:
Diese Weise jene Werte richtig zugeordnet DOT11_PHY_TYPE. Vielleicht bin ich völlig falsch, aber für die Zukunft Leute wie mich, ich wollte nur was gestolpert, hier richtig zu sein 🙂
Nochmals vielen Dank, @fmark.
InformationsquelleAutor millertime
Also.. ich basierte mich auf @fmarks code (das war ein live-sicherer für mich), und Sie sollten den WlanScan-Funktion, oder aber die RSSI Werte nicht aktualisieren.
Hier mein erweiterter code!
Alle Requisiten an @fmarks!
InformationsquelleAutor Pedro G.