Scripte: Unterschied zwischen den Versionen

Aus Freifunk Kiel
Zur Navigation springen Zur Suche springen
(Erstellen eines OpenWRT opkg Mirrors)
(Punkt "Erste Schritte" eingetragen, da ich die Hauptseite nicht veraendern kann)
Zeile 1: Zeile 1:
 
Auf dieser Seite sollen nützliche, interessante und evtl. auch witzige Scripte für das Freifunknetz gesammelt werden.
 
Auf dieser Seite sollen nützliche, interessante und evtl. auch witzige Scripte für das Freifunknetz gesammelt werden.
 
 
  
 
= Mac to Vendor =
 
= Mac to Vendor =
Zeile 69: Zeile 67:
 
Für ein regelmäßiges Update muss folgende Zeile in die Crontab eingefügt werden.
 
Für ein regelmäßiges Update muss folgende Zeile in die Crontab eingefügt werden.
 
<pre>0 5 * * 3 cd /var/www/; wget --mirror --no-parent --no-host-directories http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/ > /dev/null 2>&1</pre>
 
<pre>0 5 * * 3 cd /var/www/; wget --mirror --no-parent --no-host-directories http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/ > /dev/null 2>&1</pre>
 +
 +
 +
= Erste Schritte =
 +
Zwar keine Skripte, aber die Hauptseite kann ich im Moment nicht ver&auml;ndern.
 +
 +
[ErsteSchritte|Erste Schritte] nach dem Flashen.

Version vom 2. Januar 2015, 22:05 Uhr

Auf dieser Seite sollen nützliche, interessante und evtl. auch witzige Scripte für das Freifunknetz gesammelt werden.

Mac to Vendor

Mit diesem Script lässt sich ausgeben, von welchem Hersteller die Clients sind, die sich mit deinem Node verbunden haben.

Script

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# by ZaB|SHC| @ freenode/#archlinux.de 2013
 
NODEMAC = '26:a4:3c:ad:f4:88'

import urllib.request, json
from time import sleep

n = json.loads(urllib.request.urlopen('http://freifunk.in-kiel.de/ffmap/nodes.json').read().decode('utf-8'))
for l in n['links']:
	if l['id'].startswith(NODEMAC + '-'):
		m = l['id'].split('-')[1]
		if m in (NODEMAC, NODEMAC): continue
		r = urllib.request.urlopen('http://www.macvendorlookup.com/api/EIHHxPB/{0:s}'.format(m)).read().decode('utf-8')
		if r != 'none': c = json.loads(r)[0]['company']
		else: c = ''
		print('{0:s}\t{1:s}'.format(m, c))

Beispiel

#./ffkiVendors.py
   
f4:f1:5a:XX:XX:XX	Apple
d0:ae:ec:XX:XX:XX	Alpha Networks Inc.
de:66:c8:XX:XX:XX	
f8:e0:79:XX:XX:XX	
f0:25:b7:XX:XX:XX	
30:39:26:XX:XX:XX	Sony Ericsson Mobile Communications AB
a8:26:d9:XX:XX:XX	HTC Corporation
b8:5e:7b:XX:XX:XX	Samsung Electronics Co.,Ltd
40:f3:08:XX:XX:XX	Murata Manufactuaring Co.,Ltd.
90:b9:31:XX:XX:XX	
90:18:7c:XX:XX:XX	Samsung Electro Mechanics co., LTD.
38:aa:3c:XX:XX:XX	SAMSUNG ELECTRO-MECHANICS
3c:e0:72:XX:XX:XX	Apple
bc:f5:ac:XX:XX:XX	
f6:58:32:XX:XX:XX	
90:c1:15:XX:XX:XX	Sony Ericsson Mobile Communications AB
78:d6:f0:XX:XX:XX	Samsung Electro Mechanics

(Die MAC Adressen wurden in diesem Beispiel anonymisiert)

Anmerkungen

Wie mithilfe von MAC Adressen auf die Hersteller geschlossen werden kann, erklärt folgender Heise Link:

http://www.heise.de/netze/tools/mac/

Bei Laptop Clients ist das Script nicht all zu aussagekräftig, da der Hersteller des Wlan Chipsatzes nichts über den Hersteller des Laptops aussagt. Bei Smartphones Clients funktioniert diese Script aber hervorragend. Die großen Smartphone Hersteller verbauen fast alle ihre eigenen Wlan Chipsätze, so dass die Smartphone Hersteller gut über ihre MAC Adresse erkennbar sind.

Abgesehen davon ist es bei Smartphones oftmals alles andere als trivial seinen WLan Chip zu tauschen. Ganz anders als das bei Laptops der Fall ist.

Erstellen eines OpenWRT opkg Mirrors

Um auch innerhalb des Freifunk Netzes per opkg Software installieren zu können, bietet sich ein lokaler Mirror an.

Spiegeln des Paketservers

wget --mirror --no-parent --no-host-directories http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/

Per Cron den Paketserver regelmäßig spiegeln

Für ein regelmäßiges Update muss folgende Zeile in die Crontab eingefügt werden.

0 5 * * 3 cd /var/www/; wget --mirror --no-parent --no-host-directories http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/ > /dev/null 2>&1


Erste Schritte

Zwar keine Skripte, aber die Hauptseite kann ich im Moment nicht verändern.

[ErsteSchritte|Erste Schritte] nach dem Flashen.