Pergunta

Alguém poderia sugerir um bom classe packet sniffer para c ++? Procurando por uma classe inserível fácil eu posso usar no meu programa C ++, nada complicado.

Foi útil?

Solução

Você nunca será capaz de interceptar o tráfego de rede apenas através da inserção de uma classe em seu projeto. funcionalidade de captura de pacotes requer suporte do modo kernel, portanto, você vai pelo menos necessidade de ter a sua aplicação exigir ou instalar libpcap / WinPcap, como Will Dean apontou.

A maioria moderno Unix-like distribuições incluem a libpcap da caixa, caso em que você poderia dar uma olhada neste exemplo muito simples: http://www.tcpdump.org/pcap.htm

Se você estiver usando o Windows, você está mais ou menos em seu próprio país, embora WinPcap programação é extremamente semelhante ao libpcap programação O SDK pode ser encontrada aqui (sem surpresa, já que é uma porta libpcap para Win32.): http : //www.winpcap.org/devel.htm

De qualquer forma, não importa o sistema operacional, você irá necessidade raiz / acesso de administrador para realmente executar uma captura. Basta usar a biblioteca para reproduzir ou analisar dados precaptured não requer nenhum privilégio especial, é claro.

Outras dicas

Você vai precisar de dizer algo sobre sua plataforma, pois esta é uma plataforma ao invés de uma língua coisa.

Mas supondo que você está em comum alguma coisa, olhar para pcap ou winpcap.

Microsoft Network Monitor tem uma captura de pacotes e análise API, consulte blogue netmon para algumas informações básicas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top