Начало Вход/Регистрация Помощ Tazi stranica s latinski bukwi
Области
 Новини
 Актуална тема
 Linux портали
 Какво е Линукс?
 Въпроси-отговори
 Форуми
   •Трудова борса
   •Конкурс
 Статии
 Дистрибуции
   •Поръчка на CD
 Made In BG
 Файлове
 Връзки
 Галерия
 Конференции
Настройки
 Външен вид
 Предложения
 Направи си сам
И още ...
 За нас
 Линукс за българи ЕООД
 Линк към нас
 Предложения

Подкрепяно от:
TelePoint - Място за хора със свободни идеи

SiteGround

initLab

Adsys Group

SAP Bulgaria

Въпроси отговори
Въпрос: Moже ли така да се отчита трафик?
[Търси: ]

ВНИМАНИЕ: Използвайте форумите на сайта за дa зададете вашите въпроси.

Към началото |Добави въпрос |Отговори
 
Въпрос
От: edi Дата: 01/16/2005
 Ами днес пуснах нет на машините в нас...окъ всичко тръгна с
 изключение на рррое ама закърпихме положението...Та после ми
 хрумна идеята и да следя трафика...та ето какво ми роди
 главицата...(на някой може да му се стори мн просташки този
 скрип, но това ми дойде на акъла...пък и не чаткам мн мн
програмирането)...Я кажете като цяло идеята стррува ли си?
 За по нагледно съм го качил и тук :
http://regata2003.hit.bg/traff.pl
#!/usr/bin/perl
#Nastrojkite na IPtablses sa slednite
 #Natwam wytreshnite ipta 192.168.0.0/28 kym edno wynshno
ip...
 #Otchitane na obshtiqt swalen trafic "iptables -A FORWARD -d
192.168.0.X -c 0 0"
 #Otchitane na free trafika "iptables -A FORWARD -s /ip to na
servera/ -d 192.168.0.X -c 0 0"

 $free_server="212.50.28.254";		#IP to na servera to kojto
nqma da s ot4ita trafika.
sub check_unit;

print "Full_t\tFree_t\t\tIP\t\tFull_t_MB\tFree_t_MB";
 for($ip=1; $ip <=5; $ip++)		#stojnostite koito priema $ip
realno sa posledtana okteta na IP adresa.
{
 $fulld=`iptables -L FORWARD -vn|grep 0.$ip|grep
0.0.0.0`;		#wzima wseki red ot dadeno ip
 $freed=`iptables -L FORWARD -vn|grep 0.$ip|grep
 $free_server`;	#wzema wseki red ot dadeno ip no ot4ita
trafika kym freetata

#Obshtiqt trafik
 $traff_full=substr($fulld,6,5);						#Grepwa obshtiqt trafik
za ip
 $traff_free=substr($freed,6,5);						#Grepwa bezplatniq
tafik za ip
 $name=substr($fulld,66,15);							#Wzema tekushtoto ip za
koeto shte se prawi prowerkata
$ftraff=check_unit("$fulld");
$frtraff=check_unit("$freed");
 $all=$ftraff-$frtraff;								#Kolko realno e swaleniqt
trafik bez tozi ot freeto
 print
 "$traff_full\t$traff_free\t$name\t\t$ftraff\t\t$frtraff\t$all\n";				#Obsht
trafik	Bezplaten trafik	IP adress	Full traff	Free	Traff
}
sub check_unit
{
    my $local_1=$_[0];

     $char=substr($local_1,10,1);				#prawi izwadka na
posledniqt simwol ot poleto "bytes"
									#i kleda kakyw e toj
    if( $char == K)
    {
	 $data_c=substr($local_1,6,4)/1000;
    }
    elsif ($char == M)
    {
	$data_c=substr($local_1,6,4);
    }
    elsif ( $char == G)
    {
	$data_c=substr($local_1,6,4)*1000;
    }
    else
    {
 	$data_c=substr(substr($local_1,6,5)/1000000,0,6);		#To4nost
do hilqdnata
    }
    return($data_c);
}



<< BTC ADSL (7 ) | Grupi i useri informacia (1 ) >>

 
© 2011-... Асоциация "Линукс за българи"
© 2007-2010 Линукс за българи ЕООД
© 1999-2006 Slavej Karadjov
Ако искате да препечатате или цитирате информация от този сайт прочетете първо това
Външния вид е направен от MOMCHE
Code Version: 1.0.8 H (Revision: 23-09-2011)
 
Изпълнението отне: 0 wallclock secs ( 0.06 usr + 0.02 sys = 0.08 CPU)