Nachdem mein Rechner gestern zu sprechen begann, machte ich mir seine Fähigkeiten gleich zu Nutze: Von nun an möchte ich informiert werden, wenn ein offenes Funknetz meine Pfade kreuzt, und zwar verbal. Dann macht das Kneipensuchen in fremden Gefilden wieder Spaß, bieten diese WLAN doch häufig kostenlos als Feature an wie die Serviette zum Döner (Auch die wird nicht aufgezwungen, steht aber grundsätzlich zur Verfügung).
Hier das erste, rudimentäre, Shell Script “verbalWLANScan.sh”. Die benötigten Tools und Libraries führe ich nicht auf, eine sprechender, mobiler Linuxrechner mit WLAN-Adapter sollte zur Verfügung stehen.
#!/bin/bash
/sbin/iwlist wlan0 scanning > /tmp/scan.txt
APCOUNT=`grep ESSID /tmp/scan.txt | wc -l`
OPENAPCOUNT=`grep "Encryption key:off" /tmp/scan.txt | wc -l`
APNAMES=`grep "ESSID" /tmp/scan.txt | sed s/ESSID://g | sed s/\"//g`
APNAMES=`echo $APNAMES | sed s/\ /\,\ /g`
echo "$OPENAPCOUNT von $APCOUNT Funknetzen sind unverschlüsselt." | say
echo " Die Routernamen lauten $APNAMES" | say
rm -rf /tmp/scan.txt
unset APCOUNT OPENAPCOUNT APNAMES
Und so klingt die Scriptausgabe als MP3. Empfehlenswert ist, das Script in einer Endlosschleife auszuführen:
while [ 1 = 1 ]; do verbalWLANScan.sh; done
Bei “echter” Nutzung wäre es sicher vorteilhaft, nur noch offene Netze ansagen zu lassen. Oder soweit zu automatisieren, dass der Rechner nur dann spricht, wenn eine IP verfügbar und eine Testping erfolgreich war.