Como registrar quantidades de tráfego IP por src / dst (e porta para UDP e TCP)?

0

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 pelo que entendi você precisa saber os endereços e portas antes de começar a contar.

Existe uma solução comumente usada para contabilizar todo 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.)

    
por fadedbee 24.09.2018 / 11:59

1 resposta

1

Você pode obter contagens de bytes e pacotes da conntrack.

Para ativar contadores, defina a contabilidade

#sysctl net.netfilter.nf_conntrack_acct=1

Então você verá a saída conntrack como esta

#conntrack -L
tcp      6 431971 ESTABLISHED src=192.168.0.156 dst=192.168.0.1 sport=53474 dport=443 packets=11 bytes=1945 src=192.168.0.1 dst=192.168.0.156 sport=443 dport=53474 packets=12 bytes=5238 [ASSURED] mark=0 use=1

Você pode zerar contadores com este comando

#conntrack -L -z

Observe que esses contadores são baseados em conexão. A entrada do Conntrack será removida assim que a conexão for fechada.

Verifique a página man para mais informações

#man conntrack
    
por 05.10.2018 / 09:07