PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie Liste der WLANS mit SSID in Variablen einlesen?



Linus
14-06-2010, 01:07
Ich brauche die WLAN-Parameter, die ein

iwlist $DEVICE scanning

liefert, eingelesen in Variablen, und zwar mit der Nummer (Cell-Nr.) und SSID.
Wahlweise sollen nur die WLANs mit/ohne Verschlüsselung eingelesen werdewn, mit fortlaufender Nummerierung.
Kann man das mit einem Bash-Skript machen und wenn ja, wie zumindest ungefähr? :confused:

Falls es mit einem Bash-Skript nicht geht, würde ich es mit C machen, aber vielleicht geht es auch mit einem Bash-Skript.

Linus
14-06-2010, 20:31
Hat sich inzwischen erledigt: Der erste Schritt ist das zerlegen vom Scan-Output mit

csplit -k test.txt '/Cell/' {99} 2>/dev/null

und dann hat man die Daten eines WLAN in je einer Datei.
Mit cat, | und grep und > tmpfile sowie `wc -l < "tmpfile"` kriegt man die Anzahl raus usw..
Übrigens verwende ich die MAC statt der SSIDs, weil die MAC im Gegensatz zur SSID eindeutig ist und auch nicht versteckt.

peschmae
15-06-2010, 21:36
Hi Linus,

im Prinzip reicht ein


iwlist wlan0 scan | awk '/Address/{ print $5}'

um z.B. die Liste der MACs zu erhalten (/Address/ arbeitet nur mit Zeilen wo "Address" vorkommt, print $5 printet das fünfte Whitespace-separierte Element der Zeile aus). Kommt natürlich darauf an was du dann weiter machen willt damit, wie du das am besten filterst ;)

MfG Peschmä

Linus
15-06-2010, 23:41
Hi Linus,

im Prinzip reicht ein


iwlist wlan0 scan | awk '/Address/{ print $5}'

um z.B. die Liste der MACs zu erhalten (/Address/ arbeitet nur mit Zeilen wo "Address" vorkommt, print $5 printet das fünfte Whitespace-separierte Element der Zeile aus). Kommt natürlich darauf an was du dann weiter machen willt damit, wie du das am besten filterst ;)

MfG Peschmä

Ja, das habe ich drinn und das funktioniert.
Wichtig ist mir dabei ein

csplit --digits=1 -k "$TMPFILE" '/Cell/' {99} 2> /dev/null > /dev/null

mit dem ich die San-Ergebnisse in je eine Datei bekomme, denn damit führe ich das Problem des Abarbeites von X WLANs auf das Abarbeiten der Parameter von einem WLAN zurück (Deduktion) und kann die Daten z. B. in Arrays verarbeiten.
Mein Skript funktioniert schon ohne WLANs und mit geschlossenen (verschlüsselten); ich suche mal offene zum Testen ;)