Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest środa, 18 czerwca 2025, 16:04

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 89 ]  Przejdź na stronę Poprzednia  1, 2, 3, 4, 5  Następna
Autor Wiadomość
 Tytuł:
Post: środa, 18 stycznia 2006, 09:56 
Offline
Użytkownik

Rejestracja: piątek, 22 sierpnia 2003, 12:40
Posty: 621
Lokalizacja: okolice Częstochowy
Witam.

A u mnie robia się takie numery ze statystykami

http://83.18.26.114/rozne/stats/stat.php 8O

niewiem gdzie szukać rozwiązania, a wszystko zgodnie z opisem.
Działa zawsze na początku OK ale po pewnym czasie robią się takie kwiatki.

Wpisy przy hosta 255.255.255.255 to wynik zmiany z $host_name=1 na 0 czyli brak wyświetlania nazw hostów.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 18 stycznia 2006, 11:24 
Offline
Użytkownik

Rejestracja: czwartek, 19 sierpnia 2004, 15:18
Posty: 1273
Lokalizacja: Tychy
tez mi sie tak zrobiło wykasowałem w tmp i jest ok

_________________
Pomogłem ? wypij moje zdrowie
Nie polemizuj z idiotą - najpierw sprowadzi Cię do swojego poziomu, a później pobije doświadczeniem.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 18 stycznia 2006, 12:29 
Offline
Użytkownik

Rejestracja: piątek, 22 sierpnia 2003, 12:40
Posty: 621
Lokalizacja: okolice Częstochowy
hx pisze:
tez mi sie tak zrobiło wykasowałem w tmp i jest ok


Nie tworzy Ci sie tak od nowa??

Spróbuję zobaczymy :)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 18 stycznia 2006, 13:58 
Offline
Użytkownik

Rejestracja: czwartek, 19 sierpnia 2004, 15:18
Posty: 1273
Lokalizacja: Tychy
nie juz było potem ok

_________________
Pomogłem ? wypij moje zdrowie
Nie polemizuj z idiotą - najpierw sprowadzi Cię do swojego poziomu, a później pobije doświadczeniem.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 18 stycznia 2006, 21:42 
Offline

Rejestracja: środa, 11 stycznia 2006, 14:45
Posty: 85
Lokalizacja: Słupsk
Miałem to samo, powykasowaniu w tmp po pewnym czasie ponownie miałem "kwiatki".
Zrobiłem wpisy dla każdego kompa osobno i uspokoiło się.
: [/] [] ()
#!/bin/bash
iptables -t mangle -D FORWARD -i eth1 -j STAT >/dev/null 2>&1
iptables -t mangle -D FORWARD -o eth1 -j STAT >/dev/null 2>&1
iptables -t mangle -F STAT >/dev/null 2>&1
iptables -t mangle -X STAT >/dev/null 2>&1
iptables -t mangle -N STAT
iptables -t mangle -I FORWARD -o eth1 -j STAT
iptables -t mangle -I FORWARD -i eth1 -j STAT


#dla poszczególnych kompów
iptables -t mangle -A STAT -d 192.168.1.3
iptables -t mangle -A STAT -s 192.168.1.3

iptables -t mangle -A STAT -d 192.168.1.4
iptables -t mangle -A STAT -s 192.168.1.4

iptables -t mangle -A STAT -d 192.168.1.5
iptables -t mangle -A STAT -s 192.168.1.5

iptables -t mangle -A STAT -d 192.168.1.6
iptables -t mangle -A STAT -s 192.168.1.6

iptables -t mangle -A STAT -d 192.168.1.7
iptables -t mangle -A STAT -s 192.168.1.7

iptables -t mangle -A STAT -d 192.168.1.8
iptables -t mangle -A STAT -s 192.168.1.8

iptables -t mangle -A STAT -d 192.168.1.9
iptables -t mangle -A STAT -s 192.168.1.9

iptables -t mangle -A STAT -d 192.168.1.10
iptables -t mangle -A STAT -s 192.168.1.10

_________________
Kto pyta nie błądzi....


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 18 stycznia 2006, 21:50 
Offline
Użytkownik

Rejestracja: czwartek, 3 października 2002, 16:23
Posty: 271
Lokalizacja: Częstochowa
Jaca pisze:
Zrobiłem wpisy dla każdego kompa osobno i uspokoiło się.


No przecierz pisze na stronie autora że MA być dla każdego kompa po 2 regułki:

: [/] [] ()
# i dla każdego komputera po dwie reguły
iptables -t mangle -A STAT -d xxx.xxx.xxx.xxx
iptables -t mangle -A STAT -s xxx.xxx.xxx.xxx


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 18 stycznia 2006, 22:23 
Offline

Rejestracja: środa, 11 stycznia 2006, 14:45
Posty: 85
Lokalizacja: Słupsk
Tak, ale sprawa dotyczyła skryptu Albercika.
Jego skrypt początkowo działa ładnie ale po kilku godzinach zaczyna pokazywać miliony gigabajtów downloadu, widzę ze nie tylko u mnie był ten problem. Dlatego też zrobiłem jak jest napisane na stronie autora.

_________________
Kto pyta nie błądzi....


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 19 stycznia 2006, 00:16 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
Jaca pisze:
Tak, ale sprawa dotyczyła skryptu Albercika.
Jego skrypt początkowo działa ładnie ale po kilku godzinach zaczyna pokazywać miliony gigabajtów downloadu, widzę ze nie tylko u mnie był ten problem. Dlatego też zrobiłem jak jest napisane na stronie autora.


Coś musieliście pomotać .... ja jakoś takich problemów nie mam :wink:
Jeżeli używaliście skryptu Tasiorka to błąd leży TU :

iptables -t mangle -A STAT -s SIEC$NR

_________________
Internet TV telefon - Nakło nad Notecią
NoNieno.pl - urywa gacie :)
Szybkie kobiety i piękne samochody


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 19 stycznia 2006, 00:37 
Offline
MODERATOR

Rejestracja: sobota, 30 lipca 2005, 14:08
Posty: 3984
Lokalizacja: Rzeszów
Faktycznie, moja wina. Przepraszam. Juz poprawilem.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 19 stycznia 2006, 00:59 
Offline

Rejestracja: środa, 11 stycznia 2006, 14:45
Posty: 85
Lokalizacja: Słupsk
Przepraszam Cię Albercik, faktycznie pomotałem nicki :D

_________________
Kto pyta nie błądzi....


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 19 stycznia 2006, 09:05 
Offline
Użytkownik

Rejestracja: piątek, 22 sierpnia 2003, 12:40
Posty: 621
Lokalizacja: okolice Częstochowy
Albercik pisze:
Coś musieliście pomotać .... ja jakoś takich problemów nie mam :wink:
Jeżeli używaliście skryptu Tasiorka to błąd leży TU :

iptables -t mangle -A STAT -s SIEC$NR


Ale ja mam oryginalny skrypt ze strony autora, no i co tu mozna namieszać.

PS. Po wykasowaniu pliku 20061 z /tmp/stats od wczoraj wszystko wporządku ale jak długo? Zobaczymy :)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 20 stycznia 2006, 18:07 
Offline
Użytkownik

Rejestracja: niedziela, 4 grudnia 2005, 00:42
Posty: 173
Lokalizacja: 012
robilem tak jak pisaliscie, i uwaznie spogladalem na posty Jaca.
pewnie cos przeoczylem bo poki co moj efekt [mam zmienne ip wiec sie moze zaraz pokickac] http://83.7.235.57/stats/stat.php

prawdopodobnie gdzies jest blad przy ladowaniu statystyk.
Mam podac wsio co zrobilem czy problem jest latwy do rozwiazania i nie musze ?

w /tmp/stats/ jest plik 20061 ale jest pusty.

/etc/rc.d/bałwan jestem
: [/] [] ()
#!/bin/bash
. /etc/rc.conf
iptables -t mangle -D FORWARD -i eth1 -j STAT >/dev/null 2>&1
iptables -t mangle -D FORWARD -o eth1 -j STAT >/dev/null 2>&1
iptables -t mangle -F STAT >/dev/null 2>&1
iptables -t mangle -X STAT >/dev/null 2>&1
iptables -t mangle -N STAT
iptables -t mangle -I FORWARD -o eth1 -j STAT
iptables -t mangle -I FORWARD -i eth1 -j STAT

iptables -t mangle -A STAT -d 192.168.1.2
iptables -t mangle -A STAT -s 192.168.1.2

iptables -t mangle -A STAT -d 192.168.1.3
iptables -t mangle -A STAT -s 192.168.1.3


nie ma tam "^M"


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 20 stycznia 2006, 21:49 
Offline
Użytkownik

Rejestracja: czwartek, 19 sierpnia 2004, 15:18
Posty: 1273
Lokalizacja: Tychy
masz podać wsio

_________________
Pomogłem ? wypij moje zdrowie
Nie polemizuj z idiotą - najpierw sprowadzi Cię do swojego poziomu, a później pobije doświadczeniem.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 21 stycznia 2006, 02:13 
Offline
Użytkownik

Rejestracja: niedziela, 4 grudnia 2005, 00:42
Posty: 173
Lokalizacja: 012
oki:

apache uruchomiony, modół php odhaszowany

usr/local/bin/stat.pl
: [/] [] ()
#! /usr/bin/perl
#--------Ustawienie stałych użytkownika-------------------
my $path = '/tmp/stats';                # katalog ze statystyką
my $ipt = '/usr/local/sbin/iptables';   # lokalizacja iptables
my $hosts_names = 1;                    # nazwy zamiast IP (domyślnie: wyłączone)


/home/httpd/html/stats/stat.php
: [/] [] ()
<?php

$path = "/tmp/stats";           //ścieżka do plików ze statystyką
$hosts_names = 1;               //używać nazw hostów zamiast IP
$default_sorting = 'download';  //domyślne sortowanie ('download' 'upload', 'host')
$skip_zeroes = 1;               //pomija komputery z zerowymi danymi
$time_limit = 300;              //czas (w sekundach), po którym komputery zostaną
                                //uznane za nieaktywne


/etc/rc.d/bałwan jestem [chmod 755]
: [/] [] ()
#!/bin/bash
. /etc/rc.conf
iptables -t mangle -D FORWARD -i eth1 -j STAT >/dev/null 2>&1
iptables -t mangle -D FORWARD -o eth1 -j STAT >/dev/null 2>&1
iptables -t mangle -F STAT >/dev/null 2>&1
iptables -t mangle -X STAT >/dev/null 2>&1
iptables -t mangle -N STAT
iptables -t mangle -I FORWARD -o eth1 -j STAT
iptables -t mangle -I FORWARD -i eth1 -j STAT

iptables -t mangle -A STAT -d 192.168.1.2
iptables -t mangle -A STAT -s 192.168.1.2

iptables -t mangle -A STAT -d 192.168.1.3
iptables -t mangle -A STAT -s 192.168.1.3


/etc/rc.d/rc.local
: [/] [] ()
#!/bin/sh
#
# /etc/rc.d/rc.local:  Local system initialization script.
#
. /etc/rc.conf
. /etc/rc.d/functions

stat_busy "Uruchamianie programow uzytkownika"
# Tutaj umiesc komendy uruchamiajace twoje programy.
/etc/rc.d/bałwan jestem

###thttpd -p 200 -u nobody -d /etc/iptables

# Programy, ktore musza startowac z usera

# linijka stat_done musi zostac
stat_done


etc/hosts
: [/] [] ()
# /etc/hosts

# Nie usuwaj następnej linii. Wiele programów
# wymaga takiego wpisu do poprawnej pracy.

#ipv6-localhost ipv6-loopback
::1     router.siec     router
127.0.0.1       localhost.localdomain   localhost
192.168.1.1     madserwer
192.168.1.2     Komp_1
192.168.1.3     Komp_2


crontab -e
: [/] [] ()
# DO NOT EDIT THIS FILE MANUALLY!! USE crontab -e INSTEAD.
#

# <minute> <hour> <day> <month> <dow> <command>


01 * * * *  /usr/sbin/run-cron /etc/cron.hourly
02 00 * * * /usr/sbin/run-cron /etc/cron.daily
22 00 * * 0 /usr/sbin/run-cron /etc/cron.weekly
42 00 1 * * /usr/sbin/run-cron /etc/cron.monthly

*/5 * * * * /usr/local/bin/stat.pl


plik w /tmp/stats/ jest 200601, ktrego wielkosc to cale 0 :)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 21 stycznia 2006, 09:23 
Offline
Użytkownik

Rejestracja: czwartek, 19 sierpnia 2004, 15:18
Posty: 1273
Lokalizacja: Tychy
mam nadzieje że w usr/local/bin/stat.pl masz cały skrypt a wkleiłeś tylko jego część
: [/] [] ()
#! /usr/bin/perl
#--------Ustawienie stałych użytkownika-------------------
my $path = '/tmp/stats';                # katalog ze statystyką
my $ipt = '/usr/sbin/iptables';         # lokalizacja iptables
my $hosts_names = 1;                    # nazwy zamiast IP (domyślnie: wyłączone)

# ----------Tutaj nie należy już nic zmieniać-------------
# --------------------------------------------------------
my $month = int(`date +%m`);
my $year = int(`date +%Y`);
my $file = "$path/$year$month";
my $now = time();
my @info;

# Odczytanie danych z firewalla
if($hosts_names)
{
        @info = `$ipt -t mangle -L STAT -vxZ`;
}
else
{
        @info = `$ipt -t mangle -L STAT -vnxZ`;
}
my %upload;
my %download;
my %activity;

foreach my $line (@info)
{
        chomp($line);
        my $host = "";
        my $bytes = 0;
        my $pkts = 0;
        if($hosts_names)
        {
                if($line =~ /^ +([0-9]+) +([0-9]+).*any +anywhere +(.*)/ )
                {
                        $line =~ s/^ +([0-9]+) +([0-9]+).*any +anywhere +(.*)/$1 $2 $3/g;
                        ($pkts, $bytes, $host) = split ' ',$line;
                        $download{$host} = $bytes;
                }
                elsif($line =~ /^ +([0-9]+) +([0-9]+).*any +(.*) +anywhere +/ )
                {
                        $line =~ s/^ +([0-9]+) +([0-9]+).*any +(.*) +anywhere +/$1 $2 $3/g;
                        ($pkts, $bytes, $host) = split ' ',$line;
                        $upload{$host} = $bytes;
                }
                if($download{$host} || $upload{$host})
                {
                        $activity{$host} = $now;
                }
        }
        else
        {
                if($line =~ /^[ ]+([0-9]+)[ ]+([0-9]+).*all.* 0\.0\.0\.0\/0[ ]+([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})/ )
                {
                        $line =~ s/^[ ]+([0-9]+)[ ]+([0-9]+).*all.* 0\.0\.0\.0\/0[ ]+([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})/$1 $2 $3/g;

_________________
Pomogłem ? wypij moje zdrowie
Nie polemizuj z idiotą - najpierw sprowadzi Cię do swojego poziomu, a później pobije doświadczeniem.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 21 stycznia 2006, 11:20 
Offline
Użytkownik

Rejestracja: niedziela, 4 grudnia 2005, 00:42
Posty: 173
Lokalizacja: 012
no tak, wkoncu pisze tam ze
: [/] [] ()
(...)# -- Tutaj nie nalezy juz nic zmieniac -- (...)

wiec uznalem ze tego wklejac nie bede.

usr/local/bin/stat.pl
: [/] [] ()
#! /usr/bin/perl
#--------Ustawienie sta│ych u┐ytkownika-------------------
my $path = '/tmp/stats';      # katalog ze statystyka
my $ipt = '/usr/local/sbin/iptables';    # lokalizacja iptables
my $hosts_names = 1;         # nazwy zamiast IP (domyÂlnie: wy│lczone)

# ----------Tutaj nie nale┐y ju┐ nic zmieniaŠ-------------
# --------------------------------------------------------
my $month = int(`date +%m`);
my $year = int(`date +%Y`);
my $file = "$path/$year$month";
my $now = time();
my @info;

# Odczytanie danych z firewalla
if($hosts_names)
{
   @info = `$ipt -t mangle -L STAT -vxZ`;
}
else
{
   @info = `$ipt -t mangle -L STAT -vnxZ`;
}
my %upload;
my %download;
my %activity;

foreach my $line (@info)
{
   chomp($line);
   my $host = "";
   my $bytes = 0;
   my $pkts = 0;
   if($hosts_names)
   {
      if($line =~ /^ +([0-9]+) +([0-9]+).*any +anywhere +(.*)/ )
      {
         $line =~ s/^ +([0-9]+) +([0-9]+).*any +anywhere +(.*)/$1 $2 $3/g;
         ($pkts, $bytes, $host) = split ' ',$line;
         $download{$host} = $bytes;
      }
      elsif($line =~ /^ +([0-9]+) +([0-9]+).*any +(.*) +anywhere +/ )
      {
         $line =~ s/^ +([0-9]+) +([0-9]+).*any +(.*) +anywhere +/$1 $2 $3/g;
         ($pkts, $bytes, $host) = split ' ',$line;
         $upload{$host} = $bytes;
      }
      if($download{$host} || $upload{$host})
      {
         $activity{$host} = $now;
      }
   }
   else
   {
      if($line =~ /^[ ]+([0-9]+)[ ]+([0-9]+).*all.* 0\.0\.0\.0\/0[ ]+([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})/ )
      {
         $line =~ s/^[ ]+([0-9]+)[ ]+([0-9]+).*all.* 0\.0\.0\.0\/0[ ]+([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})/$1 $2 $3/g;
         ($pkts, $bytes, $host) = split ' ',$line;
         $download{$host} = $bytes;
      }
      elsif($line =~ /^[ ]+([0-9]+)[ ]+([0-9]+).*all.* ([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})[ ]+0\.0\.0\.0\/0/ )
      {
         $line =~ s/^[ ]+([0-9]+)[ ]+([0-9]+).*all.* ([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})[ ]+0\.0\.0\.0\/0/$1 $2 $3/g;
         ($pkts, $bytes, $host) = split ' ',$line;
         $upload{$host} = $bytes;
      }
      
      if($download{$host} || $upload{$host})
      {
         $activity{$host} = $now;
      }
   }
}

# Odczytanie danych z poprzedniego wykonania skryptu
if( open(LOGFILE, $file) )
{
   my(@lines) = <LOGFILE>;
   close(LOGFILE);   
   foreach my $line (@lines)
   {
      chomp($line);
      if( $line =~ /^(.*)\t+([0-9]+)\t+([0-9]+)\t+([0-9]+)/ ||
          $line =~ /^(.*)\t+([0-9]+)\t+([0-9]+)/ )
      {
         chomp $line;
         my ($host, $up, $down, $activ) = split(/\t+/, $line);
         $activity{$host} = $activity{$host} || $activ;
         $download{$host} = $download{$host} + $down;
         $upload{$host} = $upload{$host} + $up;
      }
   }   
}

# zapis danych
open(OUTFILE, ">$file") or die("Fatal error: Unable to write '$file'. Exiting.\n");
foreach my $host (keys %upload)
{
    print OUTFILE "$host\t$upload{$host}\t$download{$host}\t$activity{$host}\n";
}
close(OUTFILE);


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 21 stycznia 2006, 12:36 
Offline
Użytkownik

Rejestracja: czwartek, 19 sierpnia 2004, 15:18
Posty: 1273
Lokalizacja: Tychy
ja w /etc/rc.d/bałwan jestem mam
Cytuj:
#!/bin/bash
iptables -t mangle -D FORWARD -i eth1 -j STAT >/dev/null 2>&1
iptables -t mangle -D FORWARD -o eth1 -j STAT >/dev/null 2>&1
iptables -t mangle -F STAT >/dev/null 2>&1
iptables -t mangle -X STAT >/dev/null 2>&1
iptables -t mangle -N STAT
iptables -t mangle -I FORWARD -o eth1 -j STAT
iptables -t mangle -I FORWARD -i eth1 -j STAT

NR=2;
while [ $NR -le 254 ]; do
#dla poszczególnych kompów
iptables -t mangle -A STAT -d 192.168.1.$NR
iptables -t mangle -A STAT -s 192.168.1.$NR
NR=$[NR + 1]
done


i tu mam
Cytuj:
my $ipt = '/usr/sbin/iptables'; # lokalizacja iptables

_________________
Pomogłem ? wypij moje zdrowie
Nie polemizuj z idiotą - najpierw sprowadzi Cię do swojego poziomu, a później pobije doświadczeniem.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 21 stycznia 2006, 12:59 
Offline
Użytkownik

Rejestracja: niedziela, 4 grudnia 2005, 00:42
Posty: 173
Lokalizacja: 012
hx pisze:
(...)

i tu mam
Cytuj:
my $ipt = '/usr/sbin/iptables'; # lokalizacja iptables

ok, faktycznie tam gdzie podales mam iptables.
działa i jest ok
wielkie thx


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: poniedziałek, 23 stycznia 2006, 01:14 
Offline
Użytkownik

Rejestracja: poniedziałek, 24 października 2005, 17:24
Posty: 207
Lokalizacja: Wschowa
http://beny.no-ip.info/stats/stat.php tak wyglądają moje statystyki :/
Plik w /tmp/stats stworzyl sie 20061, ale jest pusty. Tak jakby plik stat.pl niczego nie tworzył. O to jego wycinek
: [/] [] ()
#! /usr/bin/perl
#--------Ustawienie stałych użytkownika-------------------
my $path = '/tmp/stats';                # katalog ze statystyką
my $ipt = '/usr/sbin/iptables';         # lokalizacja iptables
my $hosts_names = 1;                    # nazwy zamiast IP (domyślnie: wyłączone

Może to wina firewalla?
Plik /etc/rc.d/bałwan jestem wygląda tak
: [/] [] ()
#!/bin/bash
iptables -t mangle -D FORWARD -i eth1 -j STAT >/dev/null 2>&1
iptables -t mangle -D FORWARD -o eth1 -j STAT >/dev/null 2>&1
iptables -t mangle -F STAT >/dev/null 2>&1
iptables -t mangle -X STAT >/dev/null 2>&1
iptables -t mangle -N STAT
iptables -t mangle -I FORWARD -o eth1 -j STAT
iptables -t mangle -I FORWARD -i eth1 -j STAT

NR=2;
while [ $NR -le 254 ]; do
#dla poszczególnych kompów
iptables -t mangle -A STAT -d 192.168.100.$NR
iptables -t mangle -A STAT -s 192.168.100.$NR
NR=$[NR + 1]
done


Chciałbym mieć te staty, ponieważ fajnie sie prezentuja :) Prosze o pomoc

_________________
Pomogłem?
To może jakiś punktcik?
a może jednak?


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: poniedziałek, 23 stycznia 2006, 15:46 
Offline
Użytkownik

Rejestracja: poniedziałek, 24 października 2005, 17:24
Posty: 207
Lokalizacja: Wschowa
Uczyniłem mały postęp. Teraz plik 20061 ma jakis rozmiar i sa wnim wypisane osoby z /etc/host , ale są tam tylko wartości 0 które sie wogóle nie zmieniaja :/
Oto mój plik stat.pl
: [/] [] ()
#! /usr/bin/perl
#--------Ustawienie stałych użytkownika-------------------
my $path = '/tmp/stats';                # katalog ze statystyką
my $ipt = '/usr/sbin/iptables';         # lokalizacja iptables
my $hosts_names = 1;                    # nazwy zamiast IP (domyślnie: wyłączone


# ----------Tutaj nie należy już nic zmieniać-------------
# --------------------------------------------------------
my $month = int(`date +%m`);
my $year = int(`date +%Y`);
my $file = "$path/$year$month";
my $now = time();
my @info;

# Odczytanie danych z firewalla
if($hosts_names)
{
        @info = `$ipt -t mangle -L STAT -vxZ`;
}
else
{
        @info = `$ipt -t mangle -L STAT -vnxZ`;
}
my %upload;
my %download;
my %activity;

foreach my $line (@info)
{
        chomp($line);
        my $host = "";
        my $bytes = 0;
        my $pkts = 0;
        if($hosts_names)
        {
                if($line =~ /^ +([0-9]+) +([0-9]+).*any +anywhere +(.*)/ )
                {
                        $line =~ s/^ +([0-9]+) +([0-9]+).*any +anywhere +(.*)/$1 $2 $3/g;
                        ($pkts, $bytes, $host) = split ' ',$line;
                        $download{$host} = $bytes;
                }
     elsif($line =~ /^ +([0-9]+) +([0-9]+).*any +(.*) +anywhere +/ )
                {
                        $line =~ s/^ +([0-9]+) +([0-9]+).*any +(.*) +anywhere +/$1 $2 $3/g;
                        ($pkts, $bytes, $host) = split ' ',$line;
                        $upload{$host} = $bytes;
                }
                if($download{$host} || $upload{$host})
                {
                        $activity{$host} = $now;
                }
        }
        else
        {
                if($line =~ /^[ ]+([0-9]+)[ ]+([0-9]+).*all.* 0\.0\.0\.0\/0[ ]+([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3
                {
                        $line =~ s/^[ ]+([0-9]+)[ ]+([0-9]+).*all.* 0\.0\.0\.0\/0[ ]+([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-
                        ($pkts, $bytes, $host) = split ' ',$line;
                        $download{$host} = $bytes;
                }
                elsif($line =~ /^[ ]+([0-9]+)[ ]+([0-9]+).*all.* ([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})[ ]+0\.0\.0\
                {
                        $line =~ s/^[ ]+([0-9]+)[ ]+([0-9]+).*all.* ([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})[ ]+0\.0\
                        ($pkts, $bytes, $host) = split ' ',$line;
                        $upload{$host} = $bytes;
                }

                if($download{$host} || $upload{$host})
                {
                        $activity{$host} = $now;
                }
        }
}

# Odczytanie danych z poprzedniego wykonania skryptu
if( open(LOGFILE, $file) )
{
        my(@lines) = <LOGFILE>;
        close(LOGFILE);
        foreach my $line (@lines)
        {
                chomp($line);
                if( $line =~ /^(.*)\t+([0-9]+)\t+([0-9]+)\t+([0-9]+)/ ||
                    $line =~ /^(.*)\t+([0-9]+)\t+([0-9]+)/ )
                {
                        chomp $line;
                        my ($host, $up, $down, $activ) = split(/\t+/, $line);
                        $activity{$host} = $activity{$host} || $activ;
                        $download{$host} = $download{$host} + $down;
                        $upload{$host} = $upload{$host} + $up;
                }
        }
}

# zapis danych
open(OUTFILE, ">$file") or die("Fatal error: Unable to write '$file'. Exiting.\n");
foreach my $host (keys %upload)
{
    print OUTFILE "$host\t$upload{$host}\t$download{$host}\t$activity{$host}\n";
}
close(OUTFILE);

Czy jak mój czlon adresu IP to 192.168.100. to musze to jeszcze gdzieś zmienić oprócz pliku bałwan jestem??

_________________
Pomogłem?
To może jakiś punktcik?
a może jednak?


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 89 ]  Przejdź na stronę Poprzednia  1, 2, 3, 4, 5  Następna

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 10 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