Кто-нибудь может предложить хороший класс анализатора пакетов для C ++? [закрыто]

StackOverflow https://stackoverflow.com/questions/345305

Вопрос

Кто-нибудь может предложить хороший класс анализатора пакетов для 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 для получения базовой информации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top