libpcap и его порт Windows, WinPcap, могут использоваться для захвата сетевого трафика (фактически, они используются Wireshark для захвата сетевого трафика), а также для чтения файла захвата в формате pcap (формат по умолчанию дляСуществующие выпуски Wireshark) и, в libpcap 1.1 и более поздних версиях, для чтения некоторых файлов захвата в формате pcap-ng (формат по умолчанию для текущей версии разработки Wireshark; он должен записывать файлы, которые может прочитать libpcap 1.1 и более поздние версии).
Они могут обрабатывать несколько типов сетей, включая Ethernet и Wi-Fi.
Однако они не поддерживают синтаксический анализ любых типов пакетов;это работа кода, который их использует, будь то tcpdump / WinDump, Wireshark или какое-то другое приложение.Есть библиотека под названием WiFiPcap , которая:
Оболочка C ++ вокруг libpcap, которая анализирует кадры 802.11, и самый распространенный протокол уровня 3 (IPv4, IPv6, ARP) и протокола уровня 4(TCP, UDP, ICMP) содержится в них.Также работает без заголовков канального уровня.Работает в Linux и Windows.
(скопировано с его веб-страницы, но отредактировано, чтобы исправить номера уровня протокола в соответствии с модель OSI ).
IЯ не смотрел на него, но он может делать то, что вы хотите.
Могут быть и другие библиотеки, которые можно использовать для анализа пакетов.