1 程序需求概述 1
1 设计目标 本程序是在 VC++环境下,用 MFC 和 Socket技术做一个网络抓包流量查看程序
本程序大致要实现以下几个功能: (1) 将经过本地网卡的数据包抓取下来,以便进行进一步的分析
(2) 将抓取的数据包按照一定的形式进行拆包,并进行分析
(3) 将分析后的结果显示到屏幕上
(4) 根据数据包的内容对流量进行计算,再显示到屏幕上
(5) 将结果保存到文件里,以便以后的查询
通过对各种资料的查询,把以上各功能实现
2 用户特点 用户为非专业技术人员,对计算机技术没有详细了解,必须尽可能的提供友好的操作界面
应给出简单易懂的出错提示
3 总需求目标 能用简单的界面来实现比较完整的程序,对用户的交互性要友好,对大部分错误都有要一定的提示与处理方法
程序内部代码要有一定的封装性,也要有一定的可移植性,因为这个程序的功能也可以成为一个较大程序的一部分,所以对移植性和扩展要有一定的要求
4 功能需求 (1) 对流经本地网卡的所有数据包都应该被抓取
(2) 对所有被抓取到的数据包都进行分析
如果有问题要有一定的提示
(3) 要把数据详细、明确的展现给用户
(4) 要将数据完整的以日志形式保存下来
5 网络监听原理 网络监听是指利用计算机的网络接口截获目的地为第三方计算机的数据报文的一种技术
利用这种技术可以监听网络的当前流量状况;网络程序的运行以及非法窃取网络中传输的机密信息
在共享式以太网中,所有的通讯都是广播的,也就是说通常在同一网段的所有网络接口都可以访问在物理媒体上传输的所有数据,使用ARP和RARP协议进行相互转换
在正常的情况下,一个网络接口应该只响应两种数据帧:与自己硬件地址相匹配的数据帧和发向所有机器的广播数据帧
在一个实际的系统中,数据的收发由网卡来完成
每个以太网卡拥有一个全球难一的以太网地