Zeile 9: |
Zeile 9: |
| ** Bandbreite anstatt ETX-Wert visualisieren | | ** Bandbreite anstatt ETX-Wert visualisieren |
| ** GPS-Daten miteinbeziehen | | ** GPS-Daten miteinbeziehen |
| + | * Zum ausprobieren: http://entoro.homelinux.net/cgi-bin-map |
| <pre> | | <pre> |
| #!/bin/sh | | #!/bin/sh |
Zeile 40: |
Zeile 41: |
| }} | | }} |
| if($2=="Topology")s=1}END{print "}"}' | | if($2=="Topology")s=1}END{print "}"}' |
| + | </pre> |
| + | |
| + | ===Massenmail aus Registrierung verschicken=== |
| + | * erstmal datei mit allen mails erzeugen, doppelte werden aussortiert |
| + | <pre> |
| + | cd /tmp |
| + | awk '{printf("\n%s\n%s\n%s\n%s",$3,$5,$7,$9)}' /www/cgi-bin/registrator-db1.txt >email-adr-db1.txt |
| + | awk '{printf("\n%s\n%s\n%s\n%s",$3,$5,$7,$9)}' /www/cgi-bin/registrator-db2.txt >email-adr-db2.txt |
| + | awk '{printf("\n%s\n%s\n%s\n%s",$3,$5,$7,$9)}' /www/cgi-bin/registrator-db3.txt >email-adr-db3.txt |
| + | cat email-adr-db1.txt email-adr-db2.txt email-adr-db3.txt | sort -n | uniq >email.txt |
| + | * nun mails verschicken |
| + | |
| + | </pre> |
| + | |
| + | ===Backup der Registrierung ziehen=== |
| + | <pre> |
| + | #!/bin/sh |
| + | |
| + | D=$(date|sed -e's/[:T-]/ /g'|while read t m t h mi r r r y;do echo $y$m$t-$h"uhr"$mi;done) |
| + | F="Backup_Registrierung_"$D".tar.gz" |
| + | |
| + | echo "Content-type: application/octet-stream" |
| + | echo "Content-Disposition: attachment; filename=\"$F\"" |
| + | echo |
| + | |
| + | cd /www/cgi-bin/ |
| + | tar czO registrator-db* |
| </pre> | | </pre> |
| | | |
| ===Bandbreite zu einem beliebigen Nachbarn feststellen=== | | ===Bandbreite zu einem beliebigen Nachbarn feststellen=== |
| * speichern als <tt>/www/cgi-bin-speed</tt> und einfach mal aufrufen | | * speichern als <tt>/www/cgi-bin-speed</tt> und einfach mal aufrufen |
| + | * test unter: http://entoro.homelinux.net/cgi-bin-speed |
| <pre> | | <pre> |
| #!/bin/sh | | #!/bin/sh |
Zeile 53: |
Zeile 82: |
| echo "cgi-bin-speed - diese Anleitung" | | echo "cgi-bin-speed - diese Anleitung" |
| echo "cgi-bin-speed?n - OLSR-Nachbarn anzeigen" | | echo "cgi-bin-speed?n - OLSR-Nachbarn anzeigen" |
− | echo "cgi-bin-speed?n=10.1.2.3 - Testdownload zu diesem Nachbarn" | + | echo "cgi-bin-speed?n=10.1.2.3 - 10-Sekunden-Testdownload von diesem Nachbarn" |
| echo "cgi-bin-speed?r - Ausgabe der bisher generierten Resultate" | | echo "cgi-bin-speed?r - Ausgabe der bisher generierten Resultate" |
| + | echo "cgi-bin-speed?s - Quellcode anzeigen" |
| echo | | echo |
− | echo "\$VER 0.1 - 2006okt7 - bastian bittorf - weimarnetz.de" | + | echo "\$VER 0.2 - 2006nov10 - bastian bittorf - weimarnetz.de" |
| exit | | exit |
| + | fi |
| + | |
| + | if [ "$QUERY_STRING" = "s" ] |
| + | then |
| + | cat $0 |
| + | exit |
| fi | | fi |
| | | |
Zeile 67: |
Zeile 103: |
| exit | | exit |
| fi | | fi |
| + | |
| + | WIFI_IP=$(nvram get wifi_ipaddr) |
| | | |
| if [ "$QUERY_STRING" = "n" ] | | if [ "$QUERY_STRING" = "n" ] |
| then | | then |
− | WIFI_IP=$(nvram get wifi_ipaddr)
| + | wget -O - http://127.0.0.1:2006/neighbours|grep $WIFI_IP|grep "0.00" |
− | wget -O - http://127.0.0.1:2006/neighbours|grep $WIFI_IP | |
| exit | | exit |
| fi | | fi |
| | | |
| IFS=\&;set ${QUERY_STRING%%[^%&=+-:@-_a-z~]*};unset IFS;eval $* | | IFS=\&;set ${QUERY_STRING%%[^%&=+-:@-_a-z~]*};unset IFS;eval $* |
− | WIFI_IP=$(nvram get wifi_ipaddr)
| + | WIFI_IF=$(nvram get wifi_ifname) |
| + | |
| + | test -z $METRIK1 && METRIK1=$(ip route|grep "$n dev $WIFI_IF scope"|cut -d' ' -f9) |
| + | test -z $METRIK1 && METRIK1=$(ip route|grep "$n"|cut -d' ' -f8) |
| | | |
| iptables -I INPUT -p tcp -s $n -d $WIFI_IP --sport 80 -j ACCEPT | | iptables -I INPUT -p tcp -s $n -d $WIFI_IP --sport 80 -j ACCEPT |
Zeile 83: |
Zeile 123: |
| killall wget | | killall wget |
| | | |
− | ERGEBNIS=$(iptables -nxvL INPUT|grep $WIFI_IP)
| + | test -z $METRIK2 && METRIK2=$(ip route|grep "$n dev eth1 scope"|cut -d' ' -f9) |
| + | test -z $METRIK2 && METRIK2=$(ip route|grep "$n"|cut -d' ' -f8) |
| + | |
| + | RAW="$(iptables -nxvL INPUT|grep $WIFI_IP)" |
| + | KB=$(echo $RAW|while read A B A;do let d=B/10/1024;echo $d;done) |
| + | ERGEBNIS="$KB $METRIK1 $METRIK2 $RAW" |
| iptables -D INPUT -p tcp -s $n -d $WIFI_IP --sport 80 -j ACCEPT | | iptables -D INPUT -p tcp -s $n -d $WIFI_IP --sport 80 -j ACCEPT |
| + | |
| + | echo "Kilobyte/s | Metrik vorher | nachher | Pakete | Bytes | Testnachbar | Testrouter - 10 Sekunden Testdownload" |
| + | echo |
| echo "$ERGEBNIS" | | echo "$ERGEBNIS" |
| echo >>$FILE "$ERGEBNIS" | | echo >>$FILE "$ERGEBNIS" |
Zeile 97: |
Zeile 145: |
| | | |
| iptables -t nat -A PREROUTING -p tcp --dport $PORT -i $IEXT -j DNAT --to $ZIEL:$PORT | | iptables -t nat -A PREROUTING -p tcp --dport $PORT -i $IEXT -j DNAT --to $ZIEL:$PORT |
| + | </pre> |
| + | |
| + | ===M18 Webcam zum laufen bekommen=== |
| + | |
| + | modprobe spca5xx |
| + | /var/www/webcam.sh |
| + | |
| + | ===NVRAM-Befehl auf Fonera nachbilden / nvram wrapper bzw. simulator=== |
| + | * am besten nach <tt>/usr/sbin/nvram</tt> kopieren und mit <tt>chmod 777 nvram</tt> ausfuehrbar machen |
| + | |
| + | <pre> |
| + | #!/bin/sh |
| + | |
| + | FILE="/etc/init.d/nvram-variablen-simulation.txt" |
| + | TEMP="/etc/init.d/nvram-variablen-simulation.txt2" |
| + | |
| + | if [ "$1" = "get" ] |
| + | then |
| + | grep $2"=" $FILE|sed "s/$2=//;s/\"//;s/[\"]*$//" |
| + | exit |
| + | fi |
| + | |
| + | if [ "$1" = "set" ] |
| + | then |
| + | grep -v $2"=" $FILE >$TEMP |
| + | cat >$FILE $TEMP |
| + | NEWSTRING=$(echo $2|sed 's/=/="/') |
| + | echo >>$FILE $NEWSTRING"\"" |
| + | exit |
| + | fi |
| + | |
| + | if [ "$1" = "show" ] |
| + | then |
| + | cat $FILE |
| + | exit |
| + | fi |
| + | |
| + | if [ "$1" = "commit" ] |
| + | then |
| + | echo "nvram_commit(): start" |
| + | sleep 1 |
| + | echo "nvram_commit(): end" |
| + | exit |
| + | fi |
| </pre> | | </pre> |
| | | |
Zeile 106: |
Zeile 198: |
| ZIEL="104.63.16.2" | | ZIEL="104.63.16.2" |
| | | |
− | iptables -t nat -A PREROUTING -p tcp --dport $PORT -i $IEXT -j DNAT --to $ZIEL:$PORT | + | iptables -t nat -I PREROUTING -p tcp --dport $PORT -i $IEXT -j DNAT --to $ZIEL:$PORT |
| + | </pre> |
| + | |
| + | ===OLSR-Traffic (nur drahtlos) messen=== |
| + | <pre> |
| + | eval $(netparam) |
| + | |
| + | iptables -I INPUT -p udp -i $WIFIDEV --dport 698 -j ACCEPT |
| + | iptables -I OUTPUT -p udp -o $WIFIDEV --sport 698 -j ACCEPT |
| + | |
| + | OLSR_REIN=$(iptables -nxvL INPUT |sed -e '/udp dpt:698/!d'|while read A B A;do echo $B;done) |
| + | OLSR_RAUS=$(iptables -nxvL OUTPUT|sed -e '/udp spt:698/!d'|while read A B A;do echo $B;done) |
| + | |
| + | echo $OLSR_REIN |
| + | echo $OLSR_RAUS |
| </pre> | | </pre> |
| | | |
Zeile 192: |
Zeile 298: |
| | | |
| ===MAC-Adressenliste im ganzen Netz aktualisieren:=== | | ===MAC-Adressenliste im ganzen Netz aktualisieren:=== |
| + | |
| + | <pre> |
| + | ALT: |
| awk 'BEGIN{for(;c<249;){c++;system("wget -O - http://10.63."c".1/cgi-bin-info.html?b")}}' | | awk 'BEGIN{for(;c<249;){c++;system("wget -O - http://10.63."c".1/cgi-bin-info.html?b")}}' |
| + | |
| + | NEU: |
| + | awk 'BEGIN{for(;c<249;){c++;system("wget -qO - http://10.63."c".1/cgi-bin-info.html?b=10.63.41.1")}}' |
| + | </pre> |
| | | |
| ===von allen Routern im Netz den Hardwareindex-zeigen:=== | | ===von allen Routern im Netz den Hardwareindex-zeigen:=== |
Zeile 201: |
Zeile 314: |
| | | |
| ===von allen routern im netz mac adressen einsammeln -klauschweine=== | | ===von allen routern im netz mac adressen einsammeln -klauschweine=== |
− | for I in $(ip route|awk '{if(substr($0,1,5)=="10.63")print $1}'|grep -v /);do echo $I;wget -O - http://$I/cgi-bin-info.html?h|grep perm_ether;done | + | |
| + | <pre> |
| + | for I in $(ip route|awk '{if(substr($0,1,5)=="10.63")print $1}'|grep -v /);do echo $I;wget -q -O - http://$I/cgi-bin-status.html|awk >/tmp/macs.txt -v i=$I '/MAC/{print substr($0,11,17),i;exit}';done |
| + | </pre> |
| | | |
| ===Infoseite (alte Version)=== | | ===Infoseite (alte Version)=== |