Я пытаюсь перевести мой адаптер WLAN в режим мониторинга с помощью pcap (точно npcap mor).Я использую Windows10 и npcap версии 0.99-r8 (версия SDK: 1.01).Адаптер, по-видимому, способен использовать режим монитора, поскольку pcap_set_rfmon возвращает 1, и можно применять режим монитора с помощью инструмента "wlanhelper", который поставляется с установкой npcap.Однако мне не удалось установить адаптер в режим мониторинга с моим собственным кодом.Это код, который я использовал:
pcap_t *handle = pcap_create("\\Device\\NPF_{2E141E66-62D7-4DF7-9612-0E49790FBE02}", errbuf); // handle is created properly
if (pcap_set_rfmon(handle, 1) == 0)
{
std::cout << "monitor mode enabled" << std::endl; // this msg was always printed in my case
}
pcap_set_snaplen(handle, 2048);
pcap_set_promisc(handle, 0);
pcap_set_timeout(handle, 512);
int status = pcap_activate(handle); // pcap_activate only returns -1 if pcap_set_rfmon has been called before
, где pcap_set_rfmon возвращает 0 (сообщение напечатано), а pcap_activate возвращает -1.Я проверил сообщение об ошибке, возвращаемое pcap_geterr, но все, что он говорит, это «Общая ошибка».Я также попытался запустить программу от имени администратора, но возникает та же ошибка.Так есть ли проблемы с этим кодом?