Hi,
Bem, hoje vou postar um source de um simples sniffer que captura os pacotes enviados e recebidos pelo MSN. Após capturar um pacote, o programa irá verificar se o mesmo contém uma mensagem de texto (recebida ou enviada) e a exibe na tela, caso afirmativo.
Embora não tenha muitos recursos, o código dá uma boa idéia de como realizar esta tarefa.
Para capturar tanto os pacotes recebidos quanto os pacotes enviados sem restrições, o aplicativo faz uso da conhecida biblioteca WinpCap (http://www.winpcap.org/install/default.htm (http://www.winpcap.org/install/default.htm)).
Os arquivos includes e as libs podem ser obtidos em:
http://www.winpcap.org/devel.htm (http://www.winpcap.org/devel.htm)
O código foi compilado utilizando o gcc, mas compilará sem problemas em outros compiladores. Lembre-se de incluir a biblioteca do WinPcap às opções do linker: wpcap.lib.
Obs:: o protocolo do messenger que foi utilizado é o MSNP 15 (introduzido a partir do Windows Live Messenger 8.1). Pelo o que eu pude ver numa documentação sobre o protocolo, a estrutura das mensagens permaneceu compatível com versões anteriores, portanto, o código deveria funcionar corretamente nelas).
Site:
http://msnpiki.msnfanatic.com/index.php ... Version_15 (http://msnpiki.msnfanatic.com/index.php/MSN_Protocol_Version_15)
Segue o código do programa em C:
http://one.xthost.info/darkside17/MSNSniffer.xhtml (http://one.xthost.info/darkside17/MSNSniffer.xhtml)
Bye