Se você olhar puramente na perspectiva da rede, então você não precisa calcular o tamanho do pacote, já que ele está incluído no cabeçalho IPv4 no desvio de bit de 19 a 31.
link
Length
This 16-bit field defines the entire datagram size, including header and data, in bytes. The minimum-length datagram is 20
bytes (20-byte header + 0 bytes data) and the maximum is 65,535 bytes
— the maximum value of a 16-bit word. The largest datagram that any
host is required to be able to handle is 576 bytes.
Portanto, se você deseja coletar tamanhos de pacotes, é necessário ter uma ferramenta simples que coleta os cabeçalhos de pacotes IPv4 e os armazena.
Na ferramenta muito comum é o tcpdump / wireshark. Configure uma captura por um período de tempo. Em seguida, carregue a captura em wireshark. Existe uma ferramenta de análise embutida que lhe dará as estatísticas e informações sobre tamanhos de pacotes.
Também existem ferramentas de monitoramento, como nTop , que você pode instalar em seu firewall. Essa ferramenta coletaria estatísticas em tempo real.