Skripterstellung für den in Wireless Diagnostics integrierten Sniffer

Ich bin daran interessiert, den integrierten Wireless-Sniffer (zugänglich von Wireless Diagnostics durch Drücken von Cmd-Opt-6) als Teil eines Skripts zu verwenden. Gibt es eine Möglichkeit, es über Skripte zu steuern, vielleicht AppleScript?

Ich muss einfach:

  • Starten Sie den Schnüffler
  • Ändern Sie die Kanal- und Bandbreiteneinstellungen
  • Ausgabe in eine Datei (wie gewohnt)

Kann die Benutzeroberfläche mit Eingabeereignissen geskriptet werden? Bietet Wireless Diagnostics Apple Events an?

Antworten (1)

Nach dieser Antwort würde ich vorschlagen, mit dem symbolischen Verlinken des airportTools zu beginnen, das das Backend hinter dem Wireless Diagnostic Tool ist:

sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport

und es verwenden, um z. B. einen Kanal 1auf Ihrer Verbindung zu schnüffeln en1(siehe ifconfigum herauszufinden, welche Netzwerkschnittstelle die drahtlose ist) über:

sudo airport en1 sniff 1

Dadurch wird eine eindeutig benannte .capDatei in erstellt /tmp/. Verwenden Sie ctrl+ c, um das Schnüffeln zu beenden. (Beachten Sie, dass /tmp/beim Neustart bereinigt wird!)

Beachten Sie, dass Sie tcpdump auch direkt zum Sniffen verwenden können, ohne sich von drahtlosen Netzwerken zu trennen, indem Sie:

sudo /usr/sbin/tcpdump -nei en1 -s 0 -w /tmp/scan.pcap
Danke für die tolle Antwort! Am Ende habe ich etwas ganz Ähnliches gemacht. Am Ende habe ich es verwendet tshark -I, anstatt airport <interface> sniffes für die Erfassungsfilterung und die Fähigkeit zur Ausgabe in eine beliebige Datei zu verwenden (einschließlich stdout, sodass ich die Ausgabe an einen anderen Befehl weiterleiten kann). Musste airportaber trotzdem den Kanal wechseln.