Я пишу программу на .NET c ++. Я отправляю широковещательный пинг в моей локальной сети. Все мои целевые устройства могут отвечать на широковещательную рассылку, и я действительно отслеживаю все их ответы в Wireshark. Моя цель - получить IP-адреса всех отвечающих станций.
Проблема в том, что API-интерфейс Microsoft не включает поддержку записи всех ответов за определенный промежуток времени. Функции, такие как IcmpSendEcho, просто возвращаются при первом ответе (хотя API утверждает, что он может записать более одного ответа icmp), это известная и после поиска и поиска здесь все сообщают об одной и той же проблеме с этими функциями.
Что я могу сделать, чтобы достичь своей цели, не переходя на слишком низкий уровень для получения ответа?
Есть ли в Windows какая-то запись истории icmp?
Буду благодарен за любые предложения!