Como posso registrar quantidades de tráfego IP por src/dst (e porta para UDP e TCP)?
Para cada intervalo (provavelmente a cada hora), gostaria de ver algo como:
proto, src, dst, packets, octets
ICMP, 192.168.1.3, 2.3.4.5, 34, 483
TCP, 192.168.1.3:34821, 2.3.4.5:80, 123, 23408
TCP, 192.168.1.3:33812, 5.6.7.8:22, 201, 2039
TCP, 192.168.1.3:53, 1.1.1.1:53, 23, 3400
UDP, 192.168.1.3:53, 1.1.1.1:53, 323, 23403
Para uma caixa de gateway/roteador, espero milhares de linhas a cada hora.
Eu sei que o iptables pode contar tráfego, mas até onde eu entendi você precisa saber os endereços e portas antes de começar a contar.
Existe uma solução comumente usada para contar todo o tráfego IP?
(Estou procurando uma ferramenta/técnica de baixo nível, não uma função de um conjunto de gerenciamento de rede.)
Você pode obter contagens de bytes e pacotes do conntrack.
Para habilitar contadores, defina a contabilidade
Então você verá saída conntrack como esta
Você pode zerar contadores com este comando
Observe que esses contadores são baseados em conexão. A entrada Conntrack será removida assim que a conexão for fechada.
Verifique a página do manual para obter mais informações