Router automatisch verorten

Stefan Waigand dg2dnx at gmx.de
Di Jul 5 00:38:38 CEST 2016


Hallo zusammen,

es gibt ja immer wieder Probleme mit Routern, die falsch oder gar nicht
verortet sind und dann die Hoods überbrücken usw.
Was haltet ihr von der Idee, in die Firmware eine Funktion einzubauen,
die die Daten aus dem Wifi Scan nimmt und damit die Google Maps
Geolocation API befragt? Damit sollte es doch möglich sein, den
Routerstandort zu bestimmen, oder? Könnte auch automatisch passieren,
falls kein Standort eingetragen wurde.

Falls das nicht so einfach geht hätte ich einen andren Vorschlag. Die
Firmware könnte im Wifi Scan zusätzlich die MACs der APs mit ausgeben.
Damit hätte man zumindest die Möglichkeit, die AP-Daten zu kopieren und
in ein andres Tool oder eine Webseite zu füttern, die daraus den
Standort bestimmt (weiss jemand, ob es sowas gibt?). Geht natürlich nur,
wenn man Zugriff aufs WebUI hat. Hatte selbst aber schon öfter den Fall,
Router weggegeben, selbst das root-Passwort behalten und keine Ahnung wo
das Teil dann steht.

Hab das mal testhalber eingebaut und bitte darum, den Patch unten in die
nächste Firmware zu übernehmen.
Sieht im WebUI dann so aus:

### vorher:
    Name        Kanal  Signal   Typ
volldehonisch   6      -47 dBm  Master

<!-- -47 --><tr><td>volldehonisch</td><td>6</td><td>-47
dBm</td><td>Master</td></tr>

### nachher:
     Name       Kanal  Signal   Typ            MAC           Encryption
volldehonisch   6      -61 dBm  Master  12:34:56:78:90:AB  WPA2 PSK (CCMP)

<!-- -61 --><tr><td>volldehonisch</td><td>6</td><td>-61
dBm</td><td>Master</td><td>12:34:56:78:90:AB</td><td>WPA2 PSK
(CCMP)</td></tr>

Danke!
vy 73, Stefan



diff --git
a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/wifiscan.html
b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/wifiscan.html
index 3ef88b1..a235159 100755
--- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/wifiscan.html
+++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/wifiscan.html
@@ -11,13 +11,15 @@
 			<th>Kanal</th>
 			<th>Signal</th>
 			<th>Typ</th>
+			<th>MAC</th>
+			<th>Encryption</th>
 		</tr>

 <%
 iwinfo w2mesh scan |\
 	awk -v RS='' \
-	'{r = gensub(/.*ESSID: "?(unknown|[^"]*)"?.*Mode: ([^ ]*).*Channel:
([0-9]*).*Signal: (-[0-9]*) dBm.*/, \
-	"<!-- \\4 --><tr><td>\\1</td><td>\\3</td><td>\\4
dBm</td><td>\\2</td></tr>", "g"); print r;}' | sort -n
+	'{r = gensub(/.*Address: ([0-9A-F:]*)?.*ESSID:
"?(unknown|[^"]*)"?.*Mode: ([^ ]*).*Channel: ([0-9]*).*Signal: (-[0-9]*)
dBm.*Encryption: ([^"]*).*/, \
+	"<!-- \\5 --><tr><td>\\2</td><td>\\4</td><td>\\5
dBm</td><td>\\3</td><td>\\1</td><td>\\6</td></tr>", "g"); print r;}' |
sort -n
 	# The HTML comment contains the signal quality to allow sorting
 %>
 	</table>

	
	



Mehr Informationen über die Mailingliste franken-dev