iptables: Como calcular quantos bytes existem em um pacote?

1

Estou trabalhando em um firewall e gostaria de saber como calcular quantos bytes há em um pacote ou pelo menos ter uma idéia de quais são as médias.
Quando eu pesquisei, 1500 bytes foram mencionados muito, mas parece depender do tamanho do arquivo e do protocolo.
1500 bytes, é para tcp? E quanto ao icmp?
Por curiosidade: qual é o tamanho máximo?

    
por Kris 26.03.2012 / 17:41

4 respostas

6

Uma maneira de saber o tamanho do pacote usando iptables é usar -j LOG target. Você pode usar isso para registrar pacotes específicos. No arquivo de log do sistema, você pode ver registros de log como:

IN=<iface1> OUT=<iface2> SRC=1.2.3.4 DST=4.3.2.1 LEN=1400

Este pacote tem 1400 bytes de comprimento. O tamanho máximo do pacote é determinado pelo protocolo subjacente. O número 1500 pode ser associado a quadros Ethernet .

    
por 26.03.2012 / 17:48
3

O tamanho muda porque algumas máquinas têm configurações personalizadas que alteram o MTU:

link

O tamanho máximo do quadro de dados é geralmente 1500, bytes, mas os Jumbo Frames estendem essa alocação:

link

Aqui estão as especificações completas:

link

    
por 26.03.2012 / 17:54
1

Execute o wireshark ou ntop e avalie as estatísticas. Ou você mostrará uma distribuição do tamanho do pacote ao longo de um período.

1500 bytes é a MTU padrão para muitos dispositivos Ethernet. O que @Khaled diz aqui.

    
por 26.03.2012 / 17:56
1

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.

    
por 26.03.2012 / 18:56