tcpdump na interface ao pingar hosts inexistentes na rede local

4

Eu configurei estaticamente o endereço IP de uma interface em um servidor:

ip addr add 10.40.0.6/16 broadcast 10.40.255.255 dev eth1

Se eu tentar fazer ping em uma máquina na rede (por exemplo, 10.40.0.1), ela falhará com "Host de destino inacessível".

Quando o ping está em execução, se eu fizer o seguinte, não vejo nenhuma atividade

tcpdump -i eth1 icmp

No entanto, se eu escutar na interface de loopback, em vez disso:

tcpdump -i lo icmp

Então vejo algo como:

16:02:57.369632 IP 10.40.0.6 > 10.40.0.6: ICMP host 10.40.0.1 unreachable, length 92

Minha pergunta é: por que os pacotes ICMP não aparecem saindo da interface eth1?

Editar:

# ip r ls
10.40.0.0/16 dev eth1 proto kernel scope link src 10.40.0.6
    
por Lorin Hochstein 03.04.2013 / 22:04

1 resposta

8

Se você estiver executando ping em um host inexistente, a transmissão ARP falhará. O Tcpdump nunca verá o icmp porque o eth1 não enviará um pacote IP unicast sem um destino da camada 2.

Tente isto:

tcpdump -i eth1 arp

Você deve ver a resolução ARP falhando.

    
por 03.04.2013 / 22:36