- 28
- 0
- 约9.99千字
- 约 20页
- 2015-12-03 发布于安徽
- 举报
基于原始Socket的网络嗅探器
概述
本程序使用原始Socket来捕获网络内的数据包,通过将本机的网卡设置为混杂模式,来使得网卡接收网络内的所有数据包,从而将其捕获。然后,将捕获到的数据包进行拆解,得到数据包内部的信息。
本系统目前支持TCP、UDP、ICMP包的解析。
程序的开发环境
使用的编程语言: C++
使用的开发工具: Visual C++ 6.0
小组成员及分工
2.背景知识
2.1 网卡的混杂模式
网卡的工作模式有正常模式和混杂模式两种。在正常模式下,网卡只接收目的地址是本机的数据包,其他的数据包全部丢弃。而网卡在混杂模式下,则接收所有经过网卡是数据包。
也就是说,混杂模式时网卡接收所有通过它的数据流,不论是什么格式,什么地址。具体的地址转发则是在接收到数据后由MAC层来进行。
通常在设计捕获数据包的程序时,均需要将网卡设置为混杂模式。
2.2 常用数据报的格式
2.2.1 IP数据报
IP数据报是分布于网络层的数据包,提高对网络中主机的地址定位操作。其中包含了重要的数据信息,包括发送数据包的主机,即源IP地址,接收数据包的主机,即目的IP地址。以及其他一些IP地址相关的的附加信息。
IP数据报的格式如下:
版
原创力文档

文档评论(0)