pacotes vistos no ifconfig, mas não no tcpdump

0

No ifconfig, posso ver o número de pacotes enviados / recebidos com os valores tx / rx. Com essa interface no modo promíscuo, se eu ativar o tcpdump nessa interface, devo ver todos os pacotes enviados / recebidos nessa interface, certo?

Usando:

tcpdump -XX -e -n -s0 -i <iface>

(Pode haver redundância nas opções: p)

E ainda não vejo todos os pacotes enviados. Alguma ideia?

EDIT : também, eu li o manual ifconfig e ele lê:

"Ifconfig é usado para configurar as interfaces de rede residentes no kernel."

Então, o ifconfig lê tx / rx no nível do kernel, certo? Existe alguma maneira de obter essas leituras no nível do driver?

EDIT2: também, o driver pode ser programado para enviar os pacotes para o kernel E para um programa em execução?

EDIT3: eu poderia criar um programa para cheirar quaisquer bytes que passassem na interface, independentemente do formato? Talvez o tcpdump não esteja me dando os pacotes porque não consegue perceber o formato deles.

Camandros
fonte
Você não está especificando em qual interface deseja tcpdumpescutar (por exemplo -i eth0). IIRC, se não for especificado explicitamente, ele só tenta a primeira interface listada na tcpdump -D, que é muitas vezes eth0, mas talvez isso não é a interface que você quer ...
Desculpe, eu especifiquei a interface, esqueci de adicioná-la à postagem. Vai editar
O que s0 faz? No homem , a flag -n não aceita argumentos, então para que serve s0 ? Além disso, você pode especificar como chegar à conclusão de que o tcpdump está pulando pacotes? Você está somando a duração total dos pacotes em um determinado período de tempo e comparando com a saída tx / rx do ifconfig ? Quando eu uso o seu comando acima (com -s0 em vez de s0 ), o fechamento do tcpdump não retorna a quantidade total de tráfego vista.
MariusMatutiae
É -s0. Editando ...
Camandros

Respostas:

0

Tente verificar se o iptables está impedindo a saída do tráfego. Use iptables --list para ver e /etc/init.d/iptables stop para descarregar todas as regras.

James Shewey
fonte
Verificado. Nãoiptables
0

(Esta não é uma questão de engenharia de rede. Esta seria uma questão operacional do sistema Linux (?).)

tcpdumpobtém cópias de pacotes do alto da pilha da rede - aproximadamente onde eles passam do driver para o kernel. (a fonte está lá. Vá ver.) Não sei quais estatísticas tx / rx você está visualizando ou o driver específico para o seu nic, por isso não sei dizer de onde elas vieram. ethtoolpode solicitar dados diretamente do driver, se suportado. (e inclui estatísticas que o kernel não rastreia.)

Ricky Beam
fonte
ethtoolnão é suportado pelo driver. Eu mencionei que o rx / tx é lido ifconfig. Mas como eu vejo que os valores rx / tx aumentam, por que não consigo ver os pacotes tcpdump?