Router automatisch verorten

Submitted by Stefan Waigand on July 4, 2016, 10:38 p.m.

Details

Message ID 30888796-a3a0-8d9d-831a-c43a5845282f@gmx.de
State Superseded, archived
Headers show

Commit Message

Stefan Waigand July 4, 2016, 10:38 p.m.
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



+	"<!-- \\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>

Patch hide | download patch | download mbox

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: ([^"]*).*/, \

Comments

Wulf Hagmann July 5, 2016, 6:30 p.m.
Hallo

Was mir aufgefallen ist das der Router bei mir im Verzeichnis nach über eine Stunde nicht aufgetaucht ist, die Koordinaten und Emailadresse wurden eingegeben. Was mache ich falsch.

Götz

> Am 05.07.2016 um 00:38 schrieb Stefan Waigand <dg2dnx@gmx.de>:
> 
> 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>
> 
>    
>    
> 
> -- 
> franken-dev mailing list
> franken-dev@freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Wulf Hagmann July 6, 2016, 4:27 a.m.
Hallo

Problem hat sich gelöst

Götz

> Am 05.07.2016 um 20:30 schrieb Wulf Hagmann <freifunk.rehau@gmail.com>:
> 
> Hallo
> 
> Was mir aufgefallen ist das der Router bei mir im Verzeichnis nach über eine Stunde nicht aufgetaucht ist, die Koordinaten und Emailadresse wurden eingegeben. Was mache ich falsch.
> 
> Götz
> 
>> Am 05.07.2016 um 00:38 schrieb Stefan Waigand <dg2dnx@gmx.de>:
>> 
>> 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>
>> 
>> 
>> 
>> 
>> -- 
>> franken-dev mailing list
>> franken-dev@freifunk.net
>> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Jan Kraus July 16, 2016, 6:15 p.m.
Hi Stefan,

die Idee MAC und Encryption mit anzuzeigen finde ich ganz gut.
Könntest du das bitte nochmal mit heilen Zeilenumbrüchen schicken?
Am besten wie hier[1] erklärt, dann steht am Ende auch da, dass der
Patch von dir kommt.

Grüße Jan
[1]: https://wiki.freifunk-franken.de/w/FirmwareEntwicklung#BSP_commiten_und_Patch_erzeugen

Am Dienstag, den 05.07.2016, 00:38 +0200 schrieb Stefan Waigand:
> 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>
> 
> 	
> 	
>