Кто-нибудь может предложить хороший класс анализатора пакетов для C ++? [закрыто]
-
19-08-2019 - |
Вопрос
Кто-нибудь может предложить хороший класс анализатора пакетов для c ++? В поисках легко вставляемого класса, который я могу использовать в моей программе на С ++, ничего сложного.
Решение
Вы никогда не сможете перехватить сетевой трафик, просто вставив класс в ваш проект. Функциональность захвата пакетов требует поддержки режима ядра, поэтому, как указал Уилл Дин, вам как минимум потребуется, чтобы ваше приложение требовало или установило libpcap / WinPcap.
Большинство современных Unix-подобных дистрибутивов включают libpcap из коробки, и в этом случае вы можете взглянуть на этот очень простой пример: http://www.tcpdump.org/pcap.htm р>
Если вы используете Windows, вы более или менее самостоятельно, хотя WinPcap программирование очень похоже на программирование в libpcap (что неудивительно, поскольку это порт libpcap для Win32.) SDK можно найти здесь: http : //www.winpcap.org/devel.htm
В любом случае, независимо от операционной системы, вам понадобится доступ root / Administrator для фактического выполнения захвата. Разумеется, простое использование библиотеки для воспроизведения или анализа предварительно захваченных данных не требует особых привилегий.
Другие советы
Вам нужно будет что-то сказать о вашей платформе, поскольку это скорее платформа, чем язык.
Но если у вас что-то общее, посмотрите на pcap или winpcap.
Microsoft Network Monitor имеет API для захвата и анализа пакетов, см. блог netmon для получения базовой информации.