Пока я знаю, что если Wireshark не отображает кадры ARP перед кадрами ICMP, это обычно происходит из-за того, что в кэше есть запросы ARP.

Я проверил кеш и удалил все данные ARP в кеше:

sudo arp -d -a

Затем я запускаю Wireshark и добавляю фильтр: arp or icmp для фильтрации любого трафика, кроме данных ARP или ICMP. После этого я пытаюсь выполнить простой запрос ping :

ping -c4 www.google.com

Что работает, и Wireshark успешно отображает данные ICMP. Но нет никакой информации ARP прямо перед данными ICMP даже после того, как я очищаю кэш ARP.

Любые другие причины, почему это происходит?

2 ответа2

0

Единственный адрес в вашей таблице ARP, связанный с подключением к Google, - это MAC-адрес вашего маршрутизатора (адрес шлюза). И некоторые входящие пакеты, скажем, из окон, выполняющих обслуживание или DNS, могли вернуться после очистки ARP и сбросить его до того, как вы запустите wireshark, чтобы посмотреть вещи.

Данные из других пакетов помимо фактического ответа ARP могут заполнять таблицу ARP.

0

(Если ваш маршрутизатор не настроен в режиме полумостового режима (что является редким и маловероятным), таблица ARP будет содержать только адреса систем в той же подсети, в которой находится ваш компьютер, т. Е. Если ваш IP-адрес 192.168.xx, только адреса, которые должны появиться в вашей таблице ARP, будут 192.168.xx и 127.xxx [127.xxx = loopback].

Чтобы связаться с Google, ваш компьютер имеет маршрут по умолчанию к маршрутизатору. Таким образом, для того, чтобы он мог отправлять пакеты в Google, ему нужно знать только этот адрес, который, скорее всего, он уже знал во время генерации трафика ICMP, поэтому поиск не требовался.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .