Назад | Перейти на главную страницу

tcpdump на интерфейсе при пинге несуществующих хостов в локальной сети

Я статически настроил IP-адрес интерфейса на сервере:

ip addr add 10.40.0.6/16 broadcast 10.40.255.255 dev eth1

Если я пытаюсь выполнить эхо-запрос к машине в сети (например, 10.40.0.1), это не сработает с сообщением «Целевой хост недоступен».

Если во время пинга я сделаю следующее, я не увижу никакой активности

tcpdump -i eth1 icmp

Однако, если я вместо этого слушаю интерфейс обратной петли:

tcpdump -i lo icmp

Затем я вижу что-то вроде:

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

Мой вопрос: почему пакеты ICMP не отображаются как выходящие через интерфейс eth1?

Редактировать:

# ip r ls
10.40.0.0/16 dev eth1 proto kernel scope link src 10.40.0.6

Если вы проверяете связь с несуществующим хостом, широковещательная передача ARP завершится ошибкой. Tcpdump никогда не увидит icmp, потому что eth1 не будет отправлять одноадресный IP-пакет без пункта назначения уровня 2.

Попробуй это:

tcpdump -i eth1 arp

Вы должны увидеть ошибку разрешения ARP.