Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest niedziela, 22 czerwca 2025, 09:25

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 1 ] 
Autor Wiadomość
Post: sobota, 25 lutego 2006, 21:05 
Offline

Rejestracja: sobota, 25 lutego 2006, 00:50
Posty: 2
Ostatnio zainteresowałem sie WAPem i WML. Pomyślałem, że można by go jakoś wykorzystać i napisałem prosty skrypt, który pokaże na waszych komórkach status routerków, które administrujecie.

1. Wymagania
    + uruchomiany serwer www na routerze (testowałem na thttpd)
    + możliwość połączenia się w tym serwerem od strony netu ;)
    + statystyki niceshapera
2. Możliwości: standardowo skrypt pokazuje:
    + nazwe routera
    + ilość userów online (na podstawie statystyk niceshapera)
    + łączny download (na eth1)
    + łączny upload (na eth1)
    + adresy ip userow online (na podstawie statystyk niceshapera)
    + aktualny download i upload usera (na podstawie statystyk niceshapera)

3. Instalacja
    - skopuj skrypt wrzuć na router np do katalogu /root pod nazwa wml_status
    - ustaw mu prawa wykonywania
    : [/] [] ()
    chmod +x /root/wml_status

4. Konfiguracja
    - wyedytuj skrypt by go skonfigurować
    : [/] [] ()
     mcedit /root/wml_status

    - znajdź linijke: #sciezka do pliku ze statystykami niceshapera
    - poniżej wpisz pełną ścieżkę do tego pliku (znajdziesz ją w pliku /etc/niceshaper/config w linijce: stats unit xxx dump to file sciezka)


5. Uruchomienie
    - jednorazowe (do restartu routera lub zabicia procesów)
    : [/] [] ()
     /root/wml_status &

    - przy każdym starcie systemu
    : [/] [] ()
     mcedit /etc/rc.d/rc.local

    Znajdź linijkę: "Tutaj umieść komendy uruchamiające Twoje programy i wpisz poniżej niej:
    : [/] [] ()
     /root/wml_status &

Skrypt co 10 sekund odświeża statystyki i umieszcza dane w podanych przez Ciebie plikach (domyślnie index.wml i more.wml). Aby zobaczyć wynik działania skryptu uruchom w Twoim telefonie połączenie WAP (GRPS) i połącz się z witryną
http://ip.twojego.routera/index.wml


6. Kod skryptu
: [/] [] ()
#!/bin/bash
#
# Nazwa:   wml_stats
# Opis:    Skrypt do generowania statystyk ilosci userow, lacznego downloadu
#      uploadu oraz listy ip userow wraz z pasmem, ktore w danej chwili
#      zajmuja wg niceshapera zapisujacy dane wyjsciowe w formacie WML
# Autor:   Khazis
# Version: 0.2b - 25.02.2006
#

#configuracja
#sciezka do pliku statystyk niceshapera
nice_stats='/var/www/nsstats.txt'

#sciezka dla pliku glownego
export='/var/www/index.wml'
exp_link='index.wml'
   
#sciezka dla pliku ze szczegolami
export_more='/var/www/more1.wml'
exp_more_link='more1.wml'
   
#petelka powtarzajaca skrypt
while :; do

   #obliczanie ilosci userow
   users=`cat $nice_stats | wc -l`
   let users-=4

   #obliczanie downloadu i uploadu
   PPP=`cat /proc/net/dev | grep -v "00:00:00:00:00:00" | grep -w eth1`
   TPPP=`echo $PPP | awk '{print $1" "$2}' | awk -F: '{print $2}' | awk '{print $1}'`
   OPPP=`echo $PPP | awk -F: '{print $2}' | awk '{print $9}'`
   sleep 1
   PPPA=`cat /proc/net/dev | grep -v "00:00:00:00:00:00" | grep -w eth1`
   TPPPA=`echo $PPPA | awk '{print $1" "$2}' | awk -F: '{print $2}' | awk '{print $1}'`
   OPPPA=`echo $PPPA | awk -F: '{print $2}' | awk '{print $9}'`

   #obliczenie predkosci w Kbit/s
   let down=(OPPPA-OPPP)/1000*8
   let up=(TPPPA-TPPP)/1000*8


   #generowanie glownej stronki wml
   echo '
       <?xml version="1.0"?>
       <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
         "http://www.wapforum.org/DTD/wml_1.1.xml">
       <wml>
         <card title="Router Status">
         <p>
   ' > $export

   echo 'Router:<b>' `hostname` '</b><br/>' >> $export
   echo 'Userow online:<b>' $users '</b><br/>'>> $export
   echo 'Download:<b>' $down'Kb/s' '</b><br/>'>> $export
   echo 'Upload:<b>' $up'Kb/s' '</b><br/>'>> $export

   echo '
         </p>
         <p>
            <a href="'$exp_more_link'">Szczegoly</a>
         </p>
         </card>
       </wml>
   ' >> $export


   #generowanie szczegolow
   echo '
       <?xml version="1.0"?>
       <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
         "http://www.wapforum.org/DTD/wml_1.1.xml">
       <wml>
         <card title="Router Status">
         <p><!-- Tutaj rozpoczyna sie tresc karty -->
           <b>Userzy Online:</b><br/>
   ' > $export_more

   #wypisanie ip userow bedacych online
   cat /var/www/nsstats.txt | grep " - " | awk '{OFS=", ";ORS="<br/>"; print $1,$5,$10}' >> $export_more

   echo '
         </p>
         <p>
           <a href="'$exp_link'">Powrot</a>
         </p>
        </card>
      </wml>
   ' >> $export_more

   #czekamy 10 sec i od nowa
   sleep 10
done

Oczywiście można dodać do statystyk dowolne dane pobrane z systemu. Dzieki skryptowi można również sprawdzać z dowolnego miejsca na Ziemi bez dostępu do netu czy router pracuje (a dokładniej czy działa na nim serwer www).

Miłej zabawy ;)

_________________
Podobno wyobraźnia nie ma granic?
A czy Twoja je ma?
http://elixir.int.pl


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 1 ] 

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl