# ipacc

**URL:** <https://linux.ru/forum/t/ipacc/4651>\
**Category:** Хочу предложить\
**Created:** [10.Июль.2006 08:37:16 UTC](https://linux.ru/forum/t/ipacc/4651 "2006-07-10T08:37:16Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Spank](https://linux.ru/forum/letter_avatar_proxy/v4/letter/s/b5e925/32.png) [@Spank](https://linux.ru/forum/u/Spank)\
**Post date:** [10.Июль.2006 08:37:16 UTC](https://linux.ru/forum/t/ipacc/4651/1 "2006-07-10T08:37:16Z")

</div>

Может кому известна утилитка написанная еще под ядро 2.2, для детального учета трафика прошедшего через правила iptables. Ее то я и переделал, для того что бы она работала намано в ядрах 2.4, 2.6 и 64 битной архитектуре. Так же добавил несколько ключиков для команды ipacc. Кому интересно советую посмотреть. В ближайшее время есть мысли писать билинг с ее использованием, для того что бы можно было делать разные общеты на разные подсети и много других вкусностей.

Приемущества над чем то подобным, вообщем -j ULOG:

1. Пакеты не парсяться повторно

2. Если нестандартная длинна заголовка пакета он будет намано общитан.

3. На уровне ядра система работает быстрей.

Банальное использование это сделать детализацию трафика, что бы недовольные юзеры могли получить весь лог и сами разобраться что куда ушло…

Ознакомиться с проектом можно тут: [http://litec.ru/wiki/index.php/Ipacc](http://litec.ru/wiki/index.php/Ipacc) , там же есть и подробная документация как что делать.

---

<div class="post-metadata">

**Author:** ![Ineu](https://linux.ru/forum/letter_avatar_proxy/v4/letter/i/45deac/32.png) [@Ineu](https://linux.ru/forum/u/Ineu)\
**Post date:** [10.Июль.2006 08:46:17 UTC](https://linux.ru/forum/t/ipacc/4651/2 "2006-07-10T08:46:17Z")

</div>

А чем ipcad/netflow не устраивает?

---

<div class="post-metadata">

**Author:** ![Spank](https://linux.ru/forum/letter_avatar_proxy/v4/letter/s/b5e925/32.png) [@Spank](https://linux.ru/forum/u/Spank)\
**Post date:** [10.Июль.2006 10:31:29 UTC](https://linux.ru/forum/t/ipacc/4651/3 "2006-07-10T10:31:29Z")

</div>

1. Они работают не на уровне ядра(соотв медленнее).

2. Библиотеки снифера не рулят, так как будут щитать трафик задропаный в iptables.

3. Про ULOG я уже писал.

4. Все они повторно разбирают пакет уже разобранный системой. Зачем делать 2 раза одно и тоже, к тому же это может быть критично на слабых роутерах.

---

<div class="post-metadata">

**Author:** ![Ineu](https://linux.ru/forum/letter_avatar_proxy/v4/letter/i/45deac/32.png) [@Ineu](https://linux.ru/forum/u/Ineu)\
**Post date:** [10.Июль.2006 11:01:50 UTC](https://linux.ru/forum/t/ipacc/4651/4 "2006-07-10T11:01:50Z")

</div>

| **Spank писал(а) Mon, 10 July 2006 13:31** |  
|

1. Библиотеки снифера не рулят, так как будут щитать трафик задропаный в iptables.

|

Это с чего они себя будут так вести?

| **Цитата:** |  
|

1. Все они повторно разбирают пакет уже разобранный системой. Зачем делать 2 раза одно и тоже, к тому же это может быть критично на слабых роутерах.

|

На слабых роутерах критична в первую очередь обработка прерываний для сетевых карт, поэтому при достаточно большом потоке трафика о слабых машинах можно забыть. К тому же в случае логирования сведений о пакете согласно заголовка, сколько же должно быть пакетов, чтоб была видна разница в скорости между решениями ядерным и пользовательского уровня?

---

<div class="post-metadata">

**Author:** ![Spank](https://linux.ru/forum/letter_avatar_proxy/v4/letter/s/b5e925/32.png) [@Spank](https://linux.ru/forum/u/Spank)\
**Post date:** [11.Июль.2006 06:00:17 UTC](https://linux.ru/forum/t/ipacc/4651/5 "2006-07-11T06:00:17Z")

</div>

Фильтрация пакетов IP идет на сетевом уровне, а как известно например tcpdump работает на канальном уровне. Тоесть если я пишу:

iptables -A FORWARD -d 1.1.1.1 -j ACCEPT то билланг основанный на libpcap это пощитает, а я не хочу. Ну и в таком же духе.

---

<div class="post-metadata">

**Author:** ![Ineu](https://linux.ru/forum/letter_avatar_proxy/v4/letter/i/45deac/32.png) [@Ineu](https://linux.ru/forum/u/Ineu)\
**Post date:** [11.Июль.2006 06:06:10 UTC](https://linux.ru/forum/t/ipacc/4651/6 "2006-07-11T06:06:10Z")

</div>

| **Spank писал(а) Tue, 11 July 2006 09:00** |  
|

Фильтрация пакетов IP идет на сетевом уровне, а как известно например tcpdump работает на канальном уровне. Тоесть если я пишу:

iptables -A FORWARD -d 1.1.1.1 -j ACCEPT то билланг основанный на libpcap это пощитает, а я не хочу. Ну и в таком же духе.

|

хм… **tcpdump -i any dst not 1.1.1.1**?

---

<div class="post-metadata">

**Author:** ![Spank](https://linux.ru/forum/letter_avatar_proxy/v4/letter/s/b5e925/32.png) [@Spank](https://linux.ru/forum/u/Spank)\
**Post date:** [11.Июль.2006 07:47:33 UTC](https://linux.ru/forum/t/ipacc/4651/7 "2006-07-11T07:47:33Z")

</div>

А не изврат?? то что в таблесе например дропается придется и здесь не щитать, тоесть 2 раза одно правило писать в разных приложениях. Лишнее время и путаница получается.

---

<div class="post-metadata">

**Author:** ![Ineu](https://linux.ru/forum/letter_avatar_proxy/v4/letter/i/45deac/32.png) [@Ineu](https://linux.ru/forum/u/Ineu)\
**Post date:** [11.Июль.2006 10:10:45 UTC](https://linux.ru/forum/t/ipacc/4651/8 "2006-07-11T10:10:45Z")

</div>

То есть ipacc считает то, что посчиталось бы по ULOG, будь он последним правилом в цепочке?

---

<div class="post-metadata">

**Author:** ![Spank](https://linux.ru/forum/letter_avatar_proxy/v4/letter/s/b5e925/32.png) [@Spank](https://linux.ru/forum/u/Spank)\
**Post date:** [11.Июль.2006 13:54:59 UTC](https://linux.ru/forum/t/ipacc/4651/9 "2006-07-11T13:54:59Z")

</div>

для того что бы ipacc считал статистику добавляется правило например:

iptables -A FORWARD -i ppp+ -j ACC --mark 1

И будет вестись подсчет пакетов попавших под это правило.

Я те советую зайти на сайт и почитать, там все написано…
