#!/usr/bin/perl $adr=$ENV{'REMOTE_ADDR'}; @url=split (/\./,$adr); if ( $url[0] eq '192' && $url[1] eq '168') { # Lokalna nazwa serwera www $main_url="http://www.local.pl"; $main_email="serwerek.local.pl"; } else { # Zewnetrzna nazwa serwera www $main_url="http://www.przykrosoft.pl"; $main_email="przykrosoft.pl"; } $refresh = $ENV{'QUERY_STRING'}; $refresh =~ s/\+/" "/eg; $qos_file="/var/shaper/masq.tmp"; # nazwy uzytkownikow sieci (musi byc skonfigurowany DNS lokalnie w sieci # tak aby dzialala komenda ping nazwakompa (a nie tylko ping numerIP) @users= ( "grzes", "artek", "mnisia", "hal", "cobra", "michal", "pawel" ); # emaile userow @users_email= ( "grzes\@poczta.onet.pl", "artek\@$main_email", "mnisia\@$main_email", "hal\@$main_email", "cobra\@$main_email", "michal\@$main_email", "pawel\@$main_email" ); @users_uin= ( "GG: 123211, Tlen: aassq",#grzes "GG: 112348, Tlen: artek1986",#artek "GG: 46310, Tlen: mnisia600",#mnisia "GG: 460121, Tlen: qwota",#hal "GG: 332139",#cobra "",#michal "GG: 232152",#pawel ); # UWAGA - ping na twoim kompie musi byc dostepny dla usera nobody - niektore # systemy maja ograniczenia prawa uzywania ping dla tylko dla root'a # sprawdz czy dziala ping: # su - nobody -c 'ping 192.168.1.1' foreach $user (@users) { system "ping -c 2 $user | grep time > /tmp/ping.$user &"; } sleep 3; print "Content-type: text/html\n\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "Kto jest aktywny w sieci lokalnej\n"; print "\n"; print "\n"; print "
\n"; print "Komputery aktywne w sieci:\n"; print "


\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; # Zmien nazwe serwera "serwerek" na swoj print " \n"; print " \n"; print " \n"; print "\n"; open (IN,"/var/shaper/bitrate_user_sh.old") || die "$!\n"; $ippos=0; while ( ) { @iptemp=split(/ /,$_); $iptable[$ippos]=$iptemp[0]; $iprate[$ippos++]=$iptemp[1]; } close IN; $ilk=1; $n=0; foreach $user (@users) { $fname="/tmp/ping.".$user; if ( -s $fname ) { # w przypadku uzywania Binda 9.x odhaszowac ponizsza linijke # a nastepna zahaszowac # open IP, "nslookup -sil $user | grep 'Address' | tail -1 |" open IP, "nslookup $user | grep 'Address' | tail -1 |" || die "$!\n"; read(IP, $ip_tmp, 40); close IP; @temp=split(/ /,$ip_tmp); # w przypadku uzywania Binda 9.x odhaszowac ponizsza linijke # a nastepna zahaszowac # chomp($ip=$temp[1]); chomp($ip=$temp[2]); for ($m=0;$m<$ippos;$m++) { if ( $ip eq $iptable[$m] ) { $rate[$n]=$iprate[$m]/8000; if ( $rate == 0 ) {$rate='';} } } print "\n"; print ""; print "\n"; printf "",$rate[$n]; print "\n"; print ""; print "\n"; $ilk++; } $n++; } print "
\n"; print "\n"; print "Mail\n"; print "\n"; print "\n"; print "\n"; print "Host\n"; print "\n"; print "\n"; print "\n"; print "QoS Bandwidth [kB/s]\n"; print "\n"; print "\n"; print "\n"; print "Komunikator\n"; print "\n"; print "
serwerek
"; open CKMAIL, "finger $user 2> /dev/null | grep 'New mail' |" || die "$!\n"; read(CKMAIL, $ckmail, 1); close CKMAIL; # Pamietaj o wrzuceniu na serwer obrazka pics/email.gif if ($ckmail) { print ""; } print "$user%.1f$users_uin[$n]
\n"; print "
Ilosc komputerow: $ilk
\n"; print "Ostatnia aktualizacja: "; open DATE, "date +%H:%M |" || die "$!\n"; read(DATE, $date, 20); close DATE; print "$date"; print "
\n\n\n";