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.
tcpdump
escutar (por exemplo-i eth0
). IIRC, se não for especificado explicitamente, ele só tenta a primeira interface listada natcpdump -D
, que é muitas vezeseth0
, mas talvez isso não é a interface que você quer ...-s0
. Editando ...Respostas:
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.
fonte
iptables
(Esta não é uma questão de engenharia de rede. Esta seria uma questão operacional do sistema Linux (?).)
tcpdump
obté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.ethtool
pode solicitar dados diretamente do driver, se suportado. (e inclui estatísticas que o kernel não rastreia.)fonte
ethtool
não é suportado pelo driver. Eu mencionei que o rx / tx é lidoifconfig
. Mas como eu vejo que os valores rx / tx aumentam, por que não consigo ver os pacotestcpdump
?