【文章标题】: 基于WinPCap的网络协议开发 - 抓取数据包,分析用户登录信息(02) 【文章作者】: 加百力 【软件名称】: WinPCap 【下载地址】: http://www.winpcap.org/ 【内部编号】: MASSADA 0028 【编写语言】: C++ 【使用工具】: VS2005 【操作平台】: Windows 2003 -------------------------------------------------------------------------------- 【详细过程】 在第一篇文章中我们提到WinPCap的基本功能之一就是: 1> 捕获原始数据包,包括在共享网络上各主机发送/接收的以及相互之间交换的数据包。 该功能可以说是WinPCap最基本、最重要的功能。因为这是一切网络协议分析的基础。要实现这个功能却非常简单,只需要几个相关函数配合使用就可以抓取到数据包。关键任务是:当每次抓到数据包之后都会调用回调函数来处理。具体的处理过程就是关键了。在这篇文章中我们提供的示例是:分析数据包中是否含有"password"关键词,因为含有这种关键词的数据包可能含有用户的登录信息。在示例程序中如果发现含有"password"关键词的数据包,就把整个数据包编号,写入到一个二进制文件中。在此之后可以使用WinHex这样的二进制文件分析工具打开查看。 我们选择的实验论坛是:http://www.netexpert.cn/ 网络分析专家论坛(论坛系统为:Discuz! 6.1.0 ) 该论坛有不少网络协议分析的高手,推荐给大家学习、讨论。 实验用账号密码为: 用户名:pojie 密码:123456 实验过程: 01、关闭其他网络连接。(比如BT下载等,减少对抓包分析的干扰) 02、打开http://www.netexpert.cn/网站准备登录。 03、使用第一篇文章提供的程序获取所有适配器信息,选择要抓包的网卡。 04、修改Debug目录中:“抓包脚本.bat”中的适配器名称。后面的tcp表示只抓取TCP包。 05、修改成功后运行“抓包脚本.bat”程序。如果没有数据包流动,显示不会有什么变化。 06、在论坛登录对话框中输入账号/密码登录。此时再看脚本运行界面会发现已经抓取到数据包 并飞快的计数。 07、过一会应该可以看到显示“已经抓取到?个包含密码的数据包”(?表示个数) 08、使用WinHex打开数据包文件,查找password关键词。具体代码请看附件。 -------------------------------------------------------------------------------- 【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢! 2009年05月06日 08:00:00
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!