powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Учет трафика под Slackware 11. Посоветуйте решение.
22 сообщений из 22, страница 1 из 1
Учет трафика под Slackware 11. Посоветуйте решение.
    #34409825
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой вопрос:
нужно организовать учет трафика на машине с Slackware 11 (kernel 2.6.17.13 custom build). Подробности:
1) Машина одна, никакой локальной/домашней сети.
2) Учетчик траффика должен идти демоном (или в бэкграунде хотя бы при запуске системы) и уметь работать без иксов.
3) При соединении отдельно учитываются исходящий и входящий траффик (из-за этого iptraf не подошел, так как считает в обе стороны)
4) Траффик должен быть разбит на две группы/два графа. Разбивается исходя из диапазонов ip/ip масок и типа траффика (фактически, нужно два варианта - "только tcp" и "весь траффик с адреса") . Масок на один граф/одну подсчитыва категорию больше одной и должна быть возможность траффик не только включать в фильтр по маске, но и исключать из учета (из-за этого ipac-ng не подошел, так как (вроде бы) не умеет исключать траффик из фильтра).
5) Статистика должна систематизироваться - т.е. должна быть доступна статистика за час, день, неделю, месяц, год и т.д.
6) Должна быть возможность в любой момент посмотреть (в том числе и через иксы) загрузку каждого фильтра (обьем проходящей информации, попадающей в категорию) в виде графика.
7) Желательно, чтобы можно было накинуть трафик вручную.
8) Желательно, чтобы можно было установить лимит при превышении которого отрубалась бы сеть, либо выполнялся скрипт (убить определенный процесс, выключить машину и т.д.)

Подскажите, чем (какими средствами/софтом) это лучше/быстрее сделать?

Я смотрел П/О под эту задачу поиском, но выбор програм достаточно большой, я не знаю чем лучше воспользоваться. Возможно, что под эту задачу есть Walkthrough, который я пропустил. Буду признателен за помощь.
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34428947
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрался с iptables. Все остальное сам соберу. Вопрос закрыт.
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34446126
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
График загрузки интерфейсов в реальном времени пока не сделал, но принцип понятен.

Собрал свою систему учета на iptables с сортировкой данных по часам/дням/неделям (bash+crond).
Получилось довольно интересно (решение, как я понял, нестандартное), относительный минус - создает кучу мелких файлов (в общем, на каждый час создает по файлику, в котором пишет число байт). Могу выложить исходник файервола/учетчика. Нужно кому-нибудь?
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34446445
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем каждый час по файлику? Не лучше ли хотя бы на день - файл, а в нем уже разбивку по часам. А то самим же сложно будет считать статистику потом (сразу представляем учет трафика за несколько лет )
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34446560
Фотография Adekamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бдин! все уже своровано до нас!
есть прекрасное обкатаное решение!
mkfifo - создаем наймпайпес - пишем 2 сервиса - один туда ложит из iptables - второй оттуда пишет в SQL
и усе
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34447006
sanek842
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdekamerБдин! все уже своровано до нас!
есть прекрасное обкатаное решение!
mkfifo - создаем наймпайпес - пишем 2 сервиса - один туда ложит из iptables - второй оттуда пишет в SQL
и усе
если так , то можно сделать еще проще - воспользоваться действием ULOG в iptables, запустить демона ulogd и все начнет писаться в таблицу в MySQL
http://www.opennet.ru/docs/RUS/iptables/#ULOGTARGET
в таблице есть все, и дата со временем прохождения пакета ,и от кого куму, порт, протокол и т.д.
Единств. минус при большой загрузке таблица быстро растет ( ее чистить нужно хотяб раз в сутки )
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34447839
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--null--а зачем каждый час по файлику? Не лучше ли хотя бы на день - файл, а в нем уже разбивку по часам. А то самим же сложно будет считать статистику потом (сразу представляем учет трафика за несколько лет )
Нужна почасовая статистика. А потом, подсчет идет сразу с час, день, месяц и год. ПО одному файлику на час - по той причине, что машинка домашняя, не сервак, и круглыми сутками не работает. Т.е. если писать лог, то он будет быстро расти и т.д. Просто текущее решение самым удобным показалось. Просто сначала хотел дейстивтельно лог на один день, потом вспомнил, что компьютер часто включается/выключается, и соответственно, думал, как сделать лог файл так, чтобы статистика при этом не ломалась. В общем, текущее решение в плане врубания/вырубания машины показалось самым удобным.

Короче, выкладываю на растерзание. :)

Файервол: /etc/rc.d/rc.firewall
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
#!/bin/sh
#firewall script

echo firewall script started
CARD_MASK="192.168.1.2/32"
ROUTER="192.168.1.1/32"
BVF="84.17.243.19/32"
RANGE1="77.45.128.0/255.255.128.0"
RANGE2="80.82.32.0/255.255.224.0"
RANGE3="88.83.192.0/255.255.192.0"

FREE[ 0 ]=$RANGE1
FREE[ 1 ]=$RANGE2
FREE[ 2 ]=$RANGE3
FREE[ 3 ]=""

KILL[ 0 ]="80.82.32.10/32"
KILL[ 1 ]="80.82.32.19/32"
KILL[ 2 ]=""

PAID[ 0 ]="80.82.32.27/32"
PAID[ 1 ]="80.82.32.11/32"
PAID[ 2 ]=""

LOCAL="127.0.0.1/32"

iptables --flush
iptables -X

iptables -N local_in
iptables -N local_out
iptables -N extern_in
iptables -N extern_out
iptables -N total_in
iptables -N total_out
iptables -N kill_in
iptables -N kill_out

iptables -N kill_all
iptables -N extern_all
iptables -N local_all
iptables -N total_all

iptables -A local_all -j ACCEPT
iptables -A extern_all -j ACCEPT
iptables -A kill_all -j DROP
iptables -A total_all -j RETURN

iptables -A total_in -j total_all
iptables -A total_out -j total_all
iptables -A local_in -j local_all
iptables -A local_out -j local_all
iptables -A extern_in -j extern_all
iptables -A extern_out -j extern_all
iptables -A kill_in -j kill_all
iptables -A kill_out -j kill_all

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

iptables -A INPUT -s $LOCAL -d $LOCAL -i lo -j ACCEPT
iptables -A OUTPUT -s $LOCAL -d $LOCAL -o lo -j ACCEPT

iptables -A INPUT -s $ROUTER -d $CARD_MASK -j ACCEPT
iptables -A OUTPUT -s $CARD_MASK -d $ROUTER -j ACCEPT

i= 0 
while [ "${KILL[$i]}" != "" ]
do
    iptables -A INPUT -p all -s ${KILL[$i]} -j kill_in
    iptables -A OUTPUT -p all -d ${KILL[$i]} -j kill_out
    i=$(($i+ 1 ))
done

iptables -A INPUT -p all -j total_in
iptables -A OUTPUT -p all -j total_out

iptables -A INPUT -p tcp -s $BVF -d $CARD_MASK -j local_in
iptables -A OUTPUT  -p all -s $CARD_MASK -d $BVF -j local_out

i= 0 
while [ "${PAID[$i]}" != "" ]
do
    iptables -A INPUT -p all -s ${PAID[$i]} -j extern_in
    iptables -A OUTPUT -p all -d ${PAID[$i]} -j extern_out
    i=$(($i+ 1 ))
done

i= 0 
while [ "${FREE[$i]}" != "" ] 
do
    iptables -A INPUT -p all -s ${FREE[$i]} -d $CARD_MASK -j local_in
    iptables -A OUTPUT -p all -s $CARD_MASK -d ${FREE[$i]} -j local_out
    i=$(($i+ 1 ))
done

iptables -A INPUT -p all -j kill_in
iptables -A OUTPUT -p all -j kill_out

#iptables -A INPUT -p icmp -j ACCEPT
#iptables -A POSTROUTING -p all -s  127 . 0 . 0 . 1  -d  80 . 82 . 32 . 27  

CARD_MASK=""
RANGE1=""
RANGE2=""
RANGE3=""
LOCAL=""

сам скрипт: должен лежать в /usr/lib/vsi-traf, называться traffic.sh и иметь права записи в папку, в которой лежит.
если в др папке, то нужно менять переменную BASE
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
#!/bin/sh

BASE=/usr/lib/vsi-traf
DATA=$BASE/data
HOUR=`date +%H`
DAY=`date +%d`
WEEK=`date +%W`
WEEK=$(($WEEK% 4 ))
MONTH=`date +%m`
YEAR=`date +%Y`
LOCK_FILE="$BASE/lock"
MONTH_DIR="$YEAR/$MONTH"
WEEK_DIR="$MONTH_DIR/weeks"
DAY_DIR="$MONTH_DIR/$DAY"
BYTES_HOUR="$DAY_DIR/$HOUR:00-$HOUR:59"
BYTES_DAY="$MONTH_DIR/$DAY.total"
BYTES_WEEK="$WEEK_DIR/$WEEK.total"
BYTES_MONTH="$YEAR/$MONTH.total"
BYTES_YEAR="$YEAR.total"
CURRENT_HOUR="this_hour"
CURRENT_DAY="this_day"
CURRENT_WEEK="this_week"
CURRENT_MONTH="this_month"
CURRENT_YEAR="this_year"
GET_BYTES=$BASE/iptable.pl

CHAINS[ 0 ]="extern_in"
CHAINS[ 1 ]="extern_out"
CHAINS[ 2 ]="local_in"
CHAINS[ 3 ]="local_out"
CHAINS[ 4 ]="total_in"
CHAINS[ 5 ]="total_out"
CHAINS[ 6 ]=""

force_directory(){
    #echo "$1"
    if [ ! -r "$1" ]; then
	mkdir "$1";
    fi;
}

#arg  1  - fuction that accepts chain name
for_each_chain(){
    i= 0 ;
    while [ "${CHAINS[$i]}" != "" ]; do
	$ 1  ${CHAINS[$i]};
	i=$(($i+ 1 ))
    done;
}

check_chain_dir(){
    force_directory "$DATA/$1"
    force_directory "$DATA/$1/$YEAR"
    force_directory "$DATA/$1/$MONTH_DIR"
    force_directory "$DATA/$1/$WEEK_DIR"
    force_directory "$DATA/$1/$DAY_DIR"
}

force_counter(){
    if [ ! -r "$1" ]; then
	echo "0" > "$1";
    fi
#    if [ `cat "$1"` == "" ]; then
#	echo "0" > "$1";
#    fi
}

check_chain_counters(){
    CHAIN_DIR="$DATA/$1"
    force_counter "$CHAIN_DIR/$BYTES_HOUR"
    force_counter "$CHAIN_DIR/$BYTES_DAY"
    force_counter "$CHAIN_DIR/$BYTES_WEEK"
    force_counter "$CHAIN_DIR/$BYTES_MONTH"
    force_counter "$CHAIN_DIR/$BYTES_YEAR"
    ln -s -f "$CHAIN_DIR/$BYTES_HOUR" "$CHAIN_DIR/$CURRENT_HOUR"
    ln -s -f "$CHAIN_DIR/$BYTES_DAY" "$CHAIN_DIR/$CURRENT_DAY"
    ln -s -f "$CHAIN_DIR/$BYTES_WEEK" "$CHAIN_DIR/$CURRENT_WEEK"
    ln -s -f "$CHAIN_DIR/$BYTES_MONTH" "$CHAIN_DIR/$CURRENT_MONTH"
    ln -s -f "$CHAIN_DIR/$BYTES_YEAR" "$CHAIN_DIR/$CURRENT_YEAR"
}

check(){
    force_directory $DATA
    for_each_chain check_chain_dir
    for_each_chain check_chain_counters
}

#$ 1  is a counter file $ 2  is a value to add
inc_counter(){
    PREV_BYTES=`cat $ 1 `
    echo "$PREV_BYTES + $2"|bc > $ 1 ;
}

#$ 1  is a chain name, $ 2  is a new added value
chain_inc_counters(){
    BYTES="$2"
    CHAIN_DIR="$DATA/$1"
    inc_counter "$CHAIN_DIR/$BYTES_HOUR" "$BYTES"
    inc_counter "$CHAIN_DIR/$BYTES_DAY" "$BYTES"
    inc_counter "$CHAIN_DIR/$BYTES_WEEK" "$BYTES"
    inc_counter "$CHAIN_DIR/$BYTES_MONTH" "$BYTES"
    inc_counter "$CHAIN_DIR/$BYTES_YEAR" "$BYTES"
}

chain_update_normal(){
    BYTES=`$GET_BYTES $ 1 `
    chain_inc_counters "$1" "$BYTES"
}

lock(){
    echo "0" > "$LOCK_FILE"
}

unlock(){
    rm -f "$LOCK_FILE"
}

update_normal(){
    if [ ! -r "$LOCK_FILE" ]; then
	lock;
        check;
	for_each_chain chain_update_normal;
	unlock;
    else
	echo another instance already working
    fi;
}

case $ 1  in
    'check') check;;
    'update') update_normal;;
    'unlock') unlock;;#use only after system restart!!!
    'lock') lock;;
    *) echo unknown argument
	echo "usage traf [update|check|lock|unlock]"
esac

Вапомогательный перл iptable.pl, должен лежать в папке с traffic.sh и быть исполняемым...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
#!/usr/bin/perl 
## 
## This is a quick perl script to 
## pull bandwidth usage from iptables chains 
## 
## If you use/optimize this script, please let me know. 
## Brian Stanback : brian [at] stanback [dot] net 
# 
## Example iptables rule for web bandwidth usage: 
## > iptables -N WWW 
## > iptables -A WWW -j ACCEPT 
## > iptables -A INPUT -p tcp -m tcp --dport 80 -j WWW 
## > iptables -A OUTPUT -p tcp -m tcp --sport 80 -j WWW 
## 
## Run "iptables.pl WWW" as root to test, note that you can 
## combine more than one protocol into a single chain. 
## 
## Sudo Configuration (/etc/sudoers) 
## > www-data    ALL = NOPASSWD: /usr/share/cacti/scripts/iptables.pl 
## 
## The Input String should be set to "sudo <path_cacti>/scripts/iptables.pl <chain>" 
## and you will need to setup an input field so that the <chain> argument can be passed. 
## 
## The data input type should be set to COUNTER 
## 
# 
# 
# modified by: Paul Campbell <forums@campbell-multimedia.co.uk>; 
# Now returns a seperate entry for each rule.  Output for a 
#  3  rule chain might now be: 
# rule1: 123  rule2: 456  rule3: 789  
#
# Modified by ErV. Now outputs number of bytes only.

if ($ARGV[ 0 ]) { 
        $chains = `/usr/sbin/iptables --line-number -xnvL $ARGV[0]`; 
	`/usr/sbin/iptables --zero $ARGV[0]`;
        @chains = split(/\n/, $chains); 
        shift(@chains); 
        shift(@chains); 
        foreach( @chains ) { 
                /(\d+)\W+[ 0 - 9 ]+\W+([ 0 - 9 ]+)\W+/; 
#                print " rule$1:$2"; 
		print"$2";
        } 
        print "\n"; 
        #$chains[ 2 ] =~ /[\W+]?[ 0 - 9 ]+\W+([ 0 - 9 ]+)\W+/; 
} else { 
        print "Usage: $0 Chain\n"; 
}

Суть:
traffic.sh вызывается с параметром unlock при запуске системы.
с параметром update кроном минимум раз в час (лично у меня раз в 5 минут, плюс на 59й минуте часа),
а также при отрубании системы.
Создает он в папке со скриптом папку data там по папке на каждую цепочку.
типичная структура:
data/chain_name/2007.total - число байт за 2007 год
data/chain_name/this_year - число байт за этот год (симлинк)
data/chain_name/this_month - число байт за этот месяц(симлинк)
data/chain_name/this_week - число байт за эту неделю(симлинк)
data/chain_name/this_day - число байт за этот день (симлинк)
data/chain_name/this_hour - число байт за этот час (симлинк)
data/chain_name/2007/ - статистика за 2007 год
data/chain_name/2007/04.total - число байт за апрель
data/chain_name/2007/04 - сатистика за апрель
data/chain_name/2007/04/08.total - полное число байт за 8е апреля
data/chain_name/2007/04/weeks - понедельная статистика
data/chain_name/2007/04/weeks/2.total - статистика за 2ю неделю
data/chain_name/2007/04/08 - статистика за 8е апреля
data/chain_name/2007/04/08/23:00-23:59 - число байт за этот период

Adakamer
Бдин! все уже своровано до нас!
есть прекрасное обкатаное решение!
mkfifo - создаем наймпайпес - пишем 2 сервиса - один туда ложит из iptables - второй оттуда пишет в SQL
и усе

1) Вот где вы раньше были? :)
2) ИМХО, особых плюсов не будет. Получится, в конце концов, то же самое, но через БД. (когда настроение будет, перепише на C++/любую базу данных, а то в файловой системе на мелкие файлики слишком много места уходит).

sanek842
если так , то можно сделать еще проще - воспользоваться действием ULOG в iptables, запустить демона ulogd и все начнет писаться в таблицу в MySQL

А вот это уже для меня слишком. У меня были только специфические диапазоны, которые надо было отследить, детальная статистика по каждому пакету, извините, не нужна.
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34448131
Фотография Adekamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV
Adakamer
Бдин! все уже своровано до нас!
есть прекрасное обкатаное решение!
mkfifo - создаем наймпайпес - пишем 2 сервиса - один туда ложит из iptables - второй оттуда пишет в SQL
и усе

1) Вот где вы раньше были? :)
2) ИМХО, особых плюсов не будет. Получится, в конце концов, то же самое, но через БД. (когда настроение будет, перепише на C++/любую базу данных, а то в файловой системе на мелкие файлики слишком много места уходит).

SQL как вариант - никто не мешает сделать просто >> file
и по крону дергать каждые минуту или 5 :)
а можно и просто mrtg натравливать на наймпайпес :)
тогда будет оч красивый график :)
ЗЫ: есть у меня наблюдение - что каждый кто более менее немного разобрался в никсах - начинает писать свой биллинг :)
это как лет десять назад - каждый начинающий програмист (я никого не хочу обидеть) писал свой вирус под дос :)
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34448149
Фотография Adekamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ2: скажу больше - хотя дома сижу на анлиме - у меня в кроне сидит маленький скриптик - каждые минут 5 - он показывает на сколько бабок в килобитах я опустил прова. И ярлычок на десктопе с страничкой генерируемой mrtg :)
Иногда разглядывание этого немного поднимает мне настроение :)

Join us and be our friend!
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34449664
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ErV

совет: попросите модера потереть упоминания ваших public ip в вашем постинге...
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34587450
Alexandr Kochmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О> Автор: Ося
О> 2 ErV
О>
О> совет: попросите модера потереть упоминания ваших public ip в вашем
О> постинге...

сорри, что поднимаю старый топик.
Но какой прок от знания pubic IP?
Ну вот придумай 4 трехзначных числа. Это IP. И что это тебе дает.
Меня умилят до слез люди, которые меняют на XXX IP адрес в локальной сети
Тут адрес внешний, но всеравно, аргументируй. :)


--
С уважением
Кочмин Александр
Firebird Foundation associate member #257

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34621606
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поправка к rc.firewall:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
#!/bin/sh
#firewall script

echo firewall script started
CARD_MASK="192.168.1.2/32"
ROUTER="192.168.1.1/32"
BVF="84.17.243.19/32"
RANGE1="77.45.128.0/255.255.128.0"
RANGE2="80.82.32.0/255.255.224.0"
RANGE3="88.83.192.0/255.255.224.0"

FREE[ 0 ]=$RANGE1
FREE[ 1 ]=$RANGE2
FREE[ 2 ]=$RANGE3
FREE[ 3 ]=""

KILL[ 0 ]="80.82.32.10/32"
KILL[ 1 ]="80.82.32.19/32"
KILL[ 2 ]=""

PAID[ 0 ]="80.82.32.27/32"
PAID[ 1 ]="80.82.32.11/32"
PAID[ 2 ]=""

LOCAL="127.0.0.1/32"

iptables --flush
iptables -X

iptables -N local_in
iptables -N local_out
iptables -N extern_in
iptables -N extern_out
iptables -N total_in
iptables -N total_out
iptables -N kill_in
iptables -N kill_out

iptables -N kill_all
iptables -N extern_all
iptables -N local_all
iptables -N total_all

iptables -A local_all -j ACCEPT
iptables -A extern_all -j ACCEPT
iptables -A kill_all -j LOG
iptables -A kill_all -j REJECT --reject-with icmp-net-prohibited
iptables -A kill_all -j DROP
iptables -A total_all -j RETURN

iptables -A total_in -g total_all
iptables -A total_out -g total_all
iptables -A local_in -g local_all
iptables -A local_out -g local_all
iptables -A extern_in -g extern_all
iptables -A extern_out -g extern_all
iptables -A kill_in -g kill_all
iptables -A kill_out -g kill_all

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

iptables -A INPUT -s $LOCAL -d $LOCAL -i lo -j ACCEPT
iptables -A OUTPUT -s $LOCAL -d $LOCAL -o lo -j ACCEPT

iptables -A INPUT -p all -s $ROUTER -d $CARD_MASK -j ACCEPT
iptables -A INPUT -p all -s $CARD_MASK -d $CARD_MASK -j ACCEPT
iptables -A OUTPUT -p all -s $CARD_MASK -d $ROUTER -j ACCEPT
iptables -A OUTPUT -p all -s $CARD_MASK -d $CARD_MASK -j ACCEPT

i= 0 
while [ "${KILL[$i]}" != "" ]
do
    iptables -A INPUT -p all -s ${KILL[$i]} -j kill_in
    iptables -A OUTPUT -p all -d ${KILL[$i]} -j kill_out
    i=$(($i+ 1 ))
done

iptables -A INPUT -p all -j total_in
iptables -A OUTPUT -p all -j total_out

iptables -A INPUT -p tcp -s $BVF -d $CARD_MASK -j local_in
iptables -A OUTPUT  -p all -s $CARD_MASK -d $BVF -j local_out

i= 0 
while [ "${PAID[$i]}" != "" ]
do
    iptables -A INPUT -p all -s ${PAID[$i]} -j extern_in
    iptables -A OUTPUT -p all -d ${PAID[$i]} -j extern_out
    i=$(($i+ 1 ))
done

i= 0 
while [ "${FREE[$i]}" != "" ] 
do
    iptables -A INPUT -p all -s ${FREE[$i]} -d $CARD_MASK -j local_in
    iptables -A OUTPUT -p all -s $CARD_MASK -d ${FREE[$i]} -j local_out
    i=$(($i+ 1 ))
done

iptables -A INPUT -p all -j kill_in
iptables -A OUTPUT -p all -j kill_out

CARD_MASK=""
RANGE1=""
RANGE2=""
RANGE3=""
LOCAL=""
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34621628
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr Kochmin
О> Автор: Ося
О> 2 ErV
О>
О> совет: попросите модера потереть упоминания ваших public ip в вашем
О> постинге...

сорри, что поднимаю старый топик.
Но какой прок от знания pubic IP?
Ну вот придумай 4 трехзначных числа. Это IP. И что это тебе дает.
Меня умилят до слез люди, которые меняют на XXX IP адрес в локальной сети
Тут адрес внешний, но всеравно, аргументируй. :)


--
С уважением
Кочмин Александр
Firebird Foundation associate member #257

Posted via ActualForum NNTP Server 1.4


Что бы не разводить долгих дискуссий: социальный инжиниринг и инсайд -- основа современных атак
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34621669
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ося wrote:

> Что бы не разводить долгих дискуссий: социальный инжиниринг и инсайд --
> основа современных атак
В листингах нет моих IP адресов, если вы об этом.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34621673
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV
Ося wrote:

> Что бы не разводить долгих дискуссий: социальный инжиниринг и инсайд --
> основа современных атак
В листингах нет моих IP адресов, если вы об этом.
Posted via ActualForum NNTP Server 1.4

извините за параною


ЗЫ профдеформация
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34621679
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, судя по всему, кто-то гонит про адреса-то...
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34621680
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не люблю "домовые" сети... фильтровал бы прокаженных на уровне AS
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34621681
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ося wrote:

> кстати, судя по всему, кто-то гонит про адреса-то...
Вы обоснуйте, пожалуйста, комментарии насчет затирания адресов и домовых
сетей. А то как-то туманно звучит. Если что-то есть по делу - скажите
прямо, рад буду узнать что-то новое.

Если вам интересно - то нету там домовой сети. Есть ADSL модем в режиме
роутера и сетевуха. И один комп. И IP у меня динамический. Все
остальные адреса это локальные бесплатные ресурсы и диапазоны, что можно
легко понять почитав скрипт.

Вот скажите, пожалуйста, какие плюсы эта информация кому-то может дать? Как
я понимаю, максимум, что можно - это определить провайдера, к которому я
отношусь, и очень приблизительное местоположение, но вряд-ли что-то ещё.
Так что мою машину можно гарантированно найти либо если я повешу на неё
dyndns, либо если кто-то засадит туда троянца, который будет вещать о своем
местоположении. Даже после нахождения компа вам предстоят траблы с
определнием модели модема и проламыванием через него, либо проверка
оборудования и ПО на предмет известных дыр. Это (имхо) надо достаточно
сильно кому-то на ногу для этого наступить.

Или я заблуждаюсь или чего-то не знаю?

Буду рад выслушать ответ.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34622117
DobPilot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErVТакой вопрос:
нужно организовать учет трафика на машине с Slackware 11 (kernel 2.6.17.13 custom build). Подробности:
1) Машина одна, никакой локальной/домашней сети.
2) Учетчик траффика должен идти демоном (или в бэкграунде хотя бы при запуске системы) и уметь работать без иксов.
3) При соединении отдельно учитываются исходящий и входящий траффик (из-за этого iptraf не подошел, так как считает в обе стороны)
4) Траффик должен быть разбит на две группы/два графа. Разбивается исходя из диапазонов ip/ip масок и типа траффика (фактически, нужно два варианта - "только tcp" и "весь траффик с адреса") . Масок на один граф/одну подсчитыва категорию больше одной и должна быть возможность траффик не только включать в фильтр по маске, но и исключать из учета (из-за этого ipac-ng не подошел, так как (вроде бы) не умеет исключать траффик из фильтра).
5) Статистика должна систематизироваться - т.е. должна быть доступна статистика за час, день, неделю, месяц, год и т.д.
6) Должна быть возможность в любой момент посмотреть (в том числе и через иксы) загрузку каждого фильтра (обьем проходящей информации, попадающей в категорию) в виде графика.
7) Желательно, чтобы можно было накинуть трафик вручную.
8) Желательно, чтобы можно было установить лимит при превышении которого отрубалась бы сеть, либо выполнялся скрипт (убить определенный процесс, выключить машину и т.д.)

Подскажите, чем (какими средствами/софтом) это лучше/быстрее сделать?

Я смотрел П/О под эту задачу поиском, но выбор програм достаточно большой, я не знаю чем лучше воспользоваться. Возможно, что под эту задачу есть Walkthrough, который я пропустил. Буду признателен за помощь.

Могу подкинуть свою систему считающию трафик через pcap, + толстый клиент к ней. Работает кстати под lnx,bsd и под вин через winpcap -)) Кто захочет обращаться по адресу: korolev@osacorp.ru
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34622317
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV
Ося wrote:

> кстати, судя по всему, кто-то гонит про адреса-то...
Вы обоснуйте, пожалуйста, комментарии насчет затирания адресов и домовых
сетей. А то как-то туманно звучит. Если что-то есть по делу - скажите
прямо, рад буду узнать что-то новое.

Если вам интересно - то нету там домовой сети. Есть ADSL модем в режиме
роутера и сетевуха. И один комп. И IP у меня динамический. Все
остальные адреса это локальные бесплатные ресурсы и диапазоны, что можно
легко понять почитав скрипт.

понял уже :)

ErV
Вот скажите, пожалуйста, какие плюсы эта информация кому-то может дать? Как
я понимаю, максимум, что можно - это определить провайдера, к которому я
отношусь, и очень приблизительное местоположение, но вряд-ли что-то ещё.
Так что мою машину можно гарантированно найти либо если я повешу на неё
dyndns, либо если кто-то засадит туда троянца, который будет вещать о своем
местоположении. Даже после нахождения компа вам предстоят траблы с
определнием модели модема и проламыванием через него, либо проверка
оборудования и ПО на предмет известных дыр. Это (имхо) надо достаточно
сильно кому-то на ногу для этого наступить.

Или я заблуждаюсь или чего-то не знаю?

Буду рад выслушать ответ.
Posted via ActualForum NNTP Server 1.4

все так, не согласен про ногу, вспоминается грязная сетка (провайдерская) одна, где пытались ломиться все подряд, никто вроде бы никому на ногу не наступал
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34622967
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ося wrote:

> не согласен про ногу, вспоминается грязная сетка (провайдерская) одна, где
> пытались ломиться все подряд, никто вроде бы никому на ногу не наступал
Не, ну "хацкеров" (или, точнее, "Script Kiddies") много водится, согласен.
(Тут один товарисч логи выкладывался - ему на линукс машину в день по 25
человек пытаются через ssh зайти. Вот спрашивается - нафига :-\) Но только
от ip-адресов моего скрипта, по-моему, им ни жарко, ни холодно не будет,
если дыры будут - найдут и без него...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Учет трафика под Slackware 11. Посоветуйте решение.
    #34622971
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DobPilot wrote:

> Могу подкинуть свою систему считающию трафик через pcap, + толстый клиент
> к ней. Работает кстати под lnx,bsd и под вин через winpcap -)) Кто захочет
> обращаться по адресу: korolev@osacorp.ru
>
Спасибо, я уже свой "бубен" собрал, он меня устраивает :).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Учет трафика под Slackware 11. Посоветуйте решение.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]