2014-01-13 7 views
5

Ich schreibe ein Python-Programm, das rohe 802.11x-Pakete sendet. Ich möchte den Kanal der Monitorschnittstelle mehrmals während des Programms ändern. Ich benutze die Scapy-Bibliothek. Gibt es eine Möglichkeit, dass ich dies ohne einen Shell-Befehl wie iwconfig ausführen kann?Python Change Interface Channel

Wenn es mehrere Möglichkeiten gibt, welche die beste ist?

Antwort

2

Eineinhalb Jahre zu spät (und möglicherweise ein schamloser Stecker für mein Projekt), aber ich stieß auf das gleiche Problem wie Sie. Ich wurde es leid zu suchen/warte auf eine native Lösung und beschloss, meine eigenen zu codieren - die Quelle ist auf Github bei https://github.com/wraith-wireless/PyRIC/ check out die Funktion chset in Pyw.py. Ich bin derzeit auf Version 1.1, die Sie über Pip installieren können.

2

Ich gehe davon aus, dass Sie dies alles auf einem Linux-System tun wollen, das auf Ihrer Erwähnung von iwconfig basiert.

am Linux Kernel Wireless documentation Mit Blick auf das nur vollständig (wie in nicht in der Entwicklung) Art und Weise mit dem drahtlosen Schnittstellen Änderungen an die Moden und Kanäle ist durch zwei Dienstprogramme Befehlszeilen zu interagieren iwconfig, die Sie erwähnten und die neuen iw. Das Befehlszeilenprogramm iw ist replacing iwconfig mit vielen Änderungen.

Die iwlib-Bibliothek ist, was Sie benötigen, um zu interagieren, ob durch iw oder ein Python-Modul wie python-iwlib.

Das Modul Python iwlib ist nicht vollständig und bietet derzeit nicht die erforderliche Funktionalität. Es kann nur über die aktuelle Konfiguration der drahtlosen Schnittstellen informieren.

Das einzige andere Dienstprogramm, das Sie in Betracht ziehen könnten, ist airmon-ng. Dieses Dienstprogramm stellt eine Schnittstelle zu den zuvor genannten Befehlszeilentools bereit, sodass Sie die Shell-Befehle aufrufen müssen.

Wir entschuldigen uns dafür, dass wir Ihnen keine vollständige Lösung anbieten können. Vielleicht haben Sie die Zyklen, um das python-iwlib Modul zu verbessern, da das scheint Ihre beste Wette zu sein, wenn Sie nicht Shell-Befehle verwenden.

+0

Danke! Obwohl 'python-iwlib' mir nicht die Möglichkeit gibt, Kanäle zu wechseln, hat es eine Menge anderer sehr nützlicher Dinge. Mir geht es gut mit 'iw', solange es keine native Alternative gibt. +1 – 735Tesla