ARP-запрос отправляется, даже если в Windows есть запись в кеше (ARP Table) - PullRequest
2 голосов
/ 04 мая 2011

У нас есть продукт, работающий под управлением Windows XP Embedded SP1.Мы настраиваем поддельный (не существует) MAC-адрес для поддельного IP-адреса в таблице ARP.Когда происходит обмен данными, Windows отправляет пакеты на поддельный MAC и fakeIP, а затем мы заменяем его на реальные в драйвере.Вот как разработано программное обеспечение.

Проблема в том, что иногда Windows начинает отправлять запросы ARP на поддельный IP, даже если для нее есть запись в таблице ARP.Я понятия не имел, почему это происходит, и в слепой попытке воспроизвести проблему я написал сценарий для удаления записи ARP, а затем через несколько секунд снова добавил ее.После некоторых попыток я увидел, что проблема возникает.

Есть идеи о том, что я должен проверить / изменить?

1 Ответ

0 голосов
/ 20 июня 2016

Можете ли вы проверить MAC-адреса кадра Ethernet в обоих случаях, в случае, когда есть запись и когда нет записи в кэше arp. Кроме того, проверьте свой код, я думаю, что вы найдете некоторые ссылки на IP-адрес FAKE внутри вашего кода (который вы, возможно, забыли изменить) Существует много протоколов прикладного уровня, которые требуют использования ARP перед их передачей, поэтому я думаю, что, возможно, вы используете один из этих протоколов в своем коде и указываете коду взаимодействовать с поддельным IP-адресом, поэтому при вызове этот протокол использует arp для поиска mac-адреса поддельного IP. Дайте мне знать, если это ответит на ваш вопрос.

...