background image

网络流量测量软件的设计与实现

 要:

为了方便网络编程,

90 年代初,由 Microsoft 联合了其他

几 家 公 司 共 同 制 定 了 一 套

WINDOWS 下 的 网 络 编 程 接 口 , 即

Windows Sockets 规范,它不是一种网络协议,而是一套开放的、支

持多种协议的

Windows 下的网络编程接口。本篇论文主要是介绍了

TCP/IP 基础上利用 winsock2 对网卡进行编程,以达到网络流量

监 测 的 目 的 。 论 文 首 先 介 绍 了

TCP/IP 协 议 , 旨 在 介 绍

IP,TCP,UDP 等比较重要的协议。主要是介绍 IP 头,TCP 头,

UDP 头的特点,以便从 IP 头中可以获取源地址,目的地址,协议类

型等信息。在随后的章节中提出了

Socket 的概念,Socket 实际上

提供了一个通信端口使所有拥有

Socket 的端口的计算机之间能够

相互通信,在本论文中主要说明了

socket 的建立,监听和撤销的过

程。具体到程序实现中,对网卡混杂模式的设置是通过原始套接字

raw socket)来实现的。为了让原始套接字能接受所有的数据,

还需要通过将

SOCK_RAW 设置成 SIO_RCVALL。对数据包的获取通

recv()函数来完成。最后要完成的工作就是对所捕获的 IP 数据包

进行分析以提取出我们所需要的信息。在论文的最后是旨在说明进一

步工作的展开。

关键字:

 TCP/IP,Winsock,原始套接字,NetBios 

- I -