Как обнаружить беспорядочный режим сетевого интерфейса в C#?
Я создаю приложение для определения того, находится ли сетевой интерфейс в беспорядочном режиме или нет.
Мы можем обнаружить его, отправив ping (ICMP echo request) с неправильным MAC-адресом, но правильным IP-адресом. Если адаптер работает в обычном режиме, он отбросит этот кадр, и стек IP никогда не увидит его и не ответит на него. Если адаптер находится в неразборчивом режиме, кадр будет передан дальше, и IP-стек на машине (для которого MAC-адрес не имеет значения) будет реагировать так же, как и на любой другой пинг.
Но я не знаю, как это реализовать в c#.
Что я уже пробовал:
Я пробовал этот код, но он дает мне mac-адрес для любого конкретного ip-адреса.
if (SendArp(ip, 0, macAddr, ref macAddrLen) != 0) { return false; } else { }