Страница 1 из 1

PF Nat Statistic

Добавлено: 2009-12-24 22:11:40
TITANius
Задача: есть машинка на фре за которой 3 локальные машины, которые выходят в мир через нат. Нужно собирать статистику исходящего и входящего трафика (инет) для каждой из локальной машины.

Путём логических измышлений пришел к тому что исходящий трафик для каждой из машины можно посмотреть если указать сперва

Код: Выделить всё

nat on $vpn_if from 192.168.0.2 to any -> ($vpn_if)
а потом посмотреть статистику

Код: Выделить всё

$ pfctl -vvsn
@0 nat on ng0 inet from 192.168.0.2 to any -> (ng0) round-robin
  [ Evaluations: 8914      Packets: 8794      Bytes: 2368281     States: 115   ]
  [ Inserted: uid 0 pid 24517 ]
...
Это исходящий трафик, а как посмотреть статистику для входящего трафика инета к этому хосту ? Как отсеять трафик хоста от общего трафика ? :st:

P.S.: Общая статистика интерфейса ng0:

Код: Выделить всё

pfctl -vvsI -i ng0
ng0
        Cleared:     Wed Dec 23 15:22:44 2009
        References:  [ States:  0                  Rules: 54                 ]
        In4/Pass:    [ Packets: 19607952           Bytes: 13263218643        ]
        In4/Block:   [ Packets: 699161             Bytes: 11699066           ]
        Out4/Pass:   [ Packets: 23191671           Bytes: 18448899810        ]
        Out4/Block:  [ Packets: 3915               Bytes: 308328             ]
        In6/Pass:    [ Packets: 0                  Bytes: 0                  ]
        In6/Block:   [ Packets: 0                  Bytes: 0                  ]
        Out6/Pass:   [ Packets: 0                  Bytes: 0                  ]
        Out6/Block:  [ Packets: 0                  Bytes: 0                  ]

Re: PF Nat Statistic

Добавлено: 2009-12-25 1:17:52
ban
Подсчет трафика с помощью pf

обрати внимание. перейдя по ссылке попадаешь в ветку FreeBSD -> подсчёт трафика, почитай.

во блин. анализ Каким софтом можно считать траффик под FreeBSD? древнючий

Re: PF Nat Statistic

Добавлено: 2009-12-25 23:13:26
TITANius
ban спасибо конечно, но инфа - :bn:

Придумал снимать статистику используя метки.

Код: Выделить всё

pass in quick from { $host1, $host2, $host3 } to any label "$srcaddr"
потом можно посмотреть счётчики:

Код: Выделить всё

pfctl -vvsl
192.168.0.2 7114 1723 221626 781 120627 942 100999
192.168.0.3 ...
192.168.0.4 ...
label, evaluations, packets passed, bytes passed, packets in, bytes in, packets out, bytes out

Но! статистика ведётся к "to any". Как отсеять все адреса которые не находятся в inet'e? В машину заведено 3 интерфейса, 2 из которых локальные сети (трафик по которым считать не нужно)+ на 2й поднимается pptp + тафик от самого роутера к хостам тоже считать не нужно (самба, фтп).
Как быть? :st: