Таблица ARP не хранит устройства, отвечающие на широковещательный запрос ping

У меня есть простой вопрос, я делаю широковещательный запрос ping в своей локальной сети, используя Mac с последним Yosemite 10.10.4.

Итак, я ping 255.255.255.255, я получаю ответы от кучи устройств (все в локальной сети 10.11.204.XX, с 255.255 .255.0 маска). Но если я загляну в таблицу ARP с помощью arp -a, я не вижу ни одного из устройств, которые отвечали на мой запрос ping. Я вижу только широковещательный IP-адрес и MAC-адрес в таблице (10.11.204.255 | ff: ff: ff: ff: ff: ff).

Однако, если я пинг отдельно для каждого устройства, они появляются в таблице ARP. Почему это поведение?

Затем, если я оставлю цикл запроса ping, я увижу через некоторое время и только иногда некоторые из IP-адресов устройств. Это действительно странно для меня.

3 голоса | спросил phenetas 10 J000000Friday15 2015, 01:28:37

4 ответа


2

Ваша (неуказанная ОС), по-видимому, заполняет только ее кеш на основе хостов, с которыми он напрямую связался. Поскольку он отправляет кадр в FF: FF: FF: FF: FF: FF, ни один из ранее неизвестных узлов ответа не будет изучен.

ответил Ricky Beam 10 J000000Friday15 2015, 02:10:22
2

Если трансляция полагалась на ARP, то как она могла бы иметь ARP'd в первую очередь? Вы в основном отправляете все пакеты в FF: FF: FF: FF: FF: FF. Поскольку у вас есть исходный MAC-адрес, ваш компьютер не будет ARP.

ответил Skyler Blumer 10 J000000Friday15 2015, 07:56:26
1

Что вы хотите сделать, это ping широковещательный IP-адрес для сети (подсети), в которой вы находитесь. Например, x.x.x.0 /24 будет иметь сетевой адрес x.x.x.0 и широковещательную рассылку x.x.x.255. Если вы выполните ping x.x.x.255 вместо 255.255.255.255, вы начнете получать ответы, а когда вы выберете arp -a из terminal.app на вашем Mac, вы увидите записи. Имейте в виду, что вам может понадобиться, чтобы ваш пинг работал немного, чтобы вы могли захватить всех. Я бы открыл два окна терминала, набрав широковещательный IP-адрес для подсети, на которой я включен, и запустил цикл для проверки таблицы ARP: while true; дата; arp -a; сон 10

Пример :

Subnet = 10.0.0.0/24
Network Address = 10.0.0.0
Broadcast Address = 10.0.0.255
Range of available IP addresses: 10.0.0.1 to 10.0.0.254
ответил Joseph Drane 10 J000000Friday15 2015, 04:59:51
0

Простое объяснение, что эти сообщения отправляются через многоадресную рассылку, которая является FF-FF-FF-FF в вашем первом сценарии. маршрутизатор не всегда знает сопоставление mac to IP и отправляет бесплатный arp ... когда он получает ответ, он не собирается рассказывать вам о каждом многоадресном хосте, который получил это сообщение, и сбросил его или не ответил, потому что он не соответствовал Когда вы пинговаете один хост, вы получаете единую привязку MAC к IP, и ее можно подавать в таблицу ARP.

ответил Ty Smith 20 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 20 Sep 2016 08:44:16 +0300 2016, 08:44:16

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132