Pregunta

¿Alguien podría sugerir una buena clase sniffer de paquetes para c ++? Buscando una clase fácil de insertar que pueda usar en mi programa c ++, nada complicado.

¿Fue útil?

Solución

Nunca podrá interceptar el tráfico de red simplemente insertando una clase en su proyecto. La funcionalidad de captura de paquetes requiere soporte del modo kernel, por lo tanto, al menos necesitará que su aplicación requiera o instale libpcap / WinPcap, como señaló Will Dean.

La mayoría de las distribuciones modernas de tipo Unix incluyen libpcap fuera de la caja, en cuyo caso podría echar un vistazo a este ejemplo muy simple: http://www.tcpdump.org/pcap.htm

Si está utilizando Windows, está más o menos solo, aunque la programación de WinPcap es extremadamente similar a la programación libpcap (como era de esperar, ya que es un puerto libpcap para Win32.) El SDK se puede encontrar aquí: http : //www.winpcap.org/devel.htm

En cualquier caso, sin importar el sistema operativo, necesitará necesitar acceso root / administrador para realizar una captura. Simplemente usar la biblioteca para reproducir o analizar datos precapturados no requiere ningún privilegio especial, por supuesto.

Otros consejos

Tendrá que decir algo sobre su plataforma, ya que se trata de una plataforma en lugar de una cuestión de lenguaje.

Pero suponiendo que estés en algo común, busca en pcap o winpcap.

Microsoft Network Monitor tiene una API de captura y análisis de paquetes, consulte el blog de netmon para obtener información básica.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top