Почему netfilter/iptables неправильно считает траффик??ЭКСПЕРИМЕНТ по сабжу:
# iptables -I INPUT -p icmp
# iptables -Z
# ping 127.0.0.1 -c 1
PING 127.0.0.1 (127.0.0.1): 56 octets data
64 octets from 127.0.0.1: icmp_seq=0 ttl=64 time=0.1 ms
--- 127.0.0.1 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.1/0.1/0.1 ms
# iptables -L INPUT -nvx
Chain INPUT (policy ACCEPT 2 packets, 168 bytes)
pkts bytes target prot opt in out source
destination
2 168 icmp -- * * 0.0.0.0/0
0.0.0.0/0
#
то-есть, послали 1 icmp(icmp-type 8) сегмент (протокол icmp относим к
межсетевому уровню) - 56 байт, и получили 1 icmp(icmp-type 0) сегмент - 64 байта.
внимание,ВОПРОС:
Почему netfilter правильно засчитал 2 pkts и *неправильно* посчитал количество байт -
56 + 64 = 118 != 168 ???
Инкапсуляции в протоколы низлежащего(сетевого) уровня нет, а ip-header, как написано в мане к ping, входит в те самые 56 байт -
ECHO_REQUEST datagrams (``pings'') have an IP and ICMP header,
followed by a ``struct timeval'' and then an arbitrary number of
``pad'' bytes used to fill out the packet.
Отчего так может быть? А то у меня на этом мысль останавливается ;)
==============================
В треде предлагается обсудить применяемые в практике методы учета трафика и накопления статистики используя счетчики в iptables, ipchains, ipf, ipfw и других пакетных фильтрах.
Выборка тредов из форума:
Linux
http://www.opennet.me/openforum/vsluhforumID3/987.html
http://www.opennet.me/openforum/vsluhforumID1/18933.html
http://www.opennet.me/openforum/vsluhforumID1/17008.html
http://www.opennet.me/openforum/vsluhforumID1/23697.html
FreeBSD
http://www.opennet.me/openforum/vsluhforumID1/6741.html
http://www.opennet.me/openforum/vsluhforumID1/7613.html
http://www.opennet.me/openforum/vsluhforumID1/23699.html
http://www.opennet.me/openforum/vsluhforumID1/23710.html
http://www.opennet.me/openforum/vsluhforumID1/21977.html
http://www.opennet.me/openforum/vsluhforumID1/18668.html
http://www.opennet.me/openforum/vsluhforumID1/17292.html